Dela via


Hantera krypterade filer och kataloger

En programmerare eller användare kan markera en katalog eller fil som krypterad. En fil som är markerad som krypterad krypteras av NTFS-filsystemet med hjälp av den aktuella krypteringsdrivrutinen. Om filen vid ett senare tillfälle markeras som okrypterad, dekrypteras den och lämnas i ett oskyddat tillstånd.

Kataloger krypteras inte själva. I stället krypteras alla nya filer i katalogen när de skapas i en "krypterad" katalog. En användare måste specifikt ändra statusen för en ny fil så att den dekrypteras om användaren inte vill att filen ska krypteras. En krypterad katalog visas. Om du vill göra en katalog otillgänglig för andra användare använder du standardmetoderna för åtkomstkontroll.

Krypteringsfunktionerna kan inte användas med API:et Backup.

Om du vill kryptera en ny fil använder du funktionen CreateFile med flaggan FILE_ATTRIBUTE_ENCRYPTED. Om du vill kryptera en befintlig fil använder du funktionen EncryptFile. Alla dataströmmar i filen krypteras. Om filen redan är krypterad gör EncryptFile ingenting annat än att returnera ett icke-nollvärde, vilket indikerar att det lyckades. Om filen är komprimerad dekomprimerar EncryptFile filen innan den krypteras.

Om du vill dekryptera en krypterad fil använder du funktionen DecryptFile. Om filen inte är krypterad gör DecryptFile ingenting annat än att returnera ett icke-nollvärde som indikerar att operationen lyckades.

Funktionen EncryptionDisable inaktiverar eller aktiverar kryptering av den angivna katalogen och filerna i den. Det påverkar inte krypteringen av underkataloger under den angivna katalogen.

Om du vill hämta krypteringsstatusen för en fil använder du funktionen FileEncryptionStatus. Du kan också anropa funktionen GetFileAttributes och granska flaggan FILE_ATTRIBUTE_ENCRYPTED i returvärdet.

CopyFile och CopyFileEx försöka kryptera målfilen med de nycklar som används i krypteringen av källfilen. Om detta inte kan göras försöker båda funktionerna kryptera målfilen med standardnycklar. Om båda dessa metoder inte kan utföras misslyckas CopyFile och CopyFileEx med ett ERROR_ENCRYPTION_FAILED fel. Om du vill att CopyFileEx att slutföra kopieringsåtgärden även när målfilen inte kan krypteras, inkluderar du flaggan COPY_FILE_ALLOW_DECRYPTED_DESTINATION i värdet för parametern dwCopyFlags i anropet till CopyFileEx.