Backup e ripristino di file crittografati

Crittografia file system (EFS) filtra l'apertura di un file crittografato in modo che l'applicazione che ha aperto il file ottiene l'accesso alle informazioni non crittografate, purché abbia le credenziali appropriate per accedere al file e ottenere la chiave necessaria per decrittografare il file. Le operazioni di lettura successive su questo file restituiranno testo non crittografato. Questo è molto utile per l'accesso tipico ai file crittografati e mantiene trasparente la crittografia e la decrittografia dei file. Tuttavia, impedisce il backup dei file crittografati, perché se il backup viene provato con le chiamate di I/O standard del file come CreateFile, ReadFile e WriteFile, i file di cui è stato eseguito il backup saranno la versione di testo normale.

Le funzioni di crittografia non elaborate vengono fornite per risolvere questo problema. Le applicazioni di backup sono un utente primario per queste funzioni. Le funzioni di crittografia non elaborate differiscono da altre funzioni del file system in quanto le funzioni aperte, di lettura e scrittura consentono l'accesso ai flussi di dati crittografati non elaborati e consentono anche la lettura/scrittura del flusso $EFS. Pertanto, il chiamante delle funzioni di crittografia non elaborate non deve accedere alle chiavi crittografiche che decrittografano il file. Le API di crittografia non elaborate seguenti sono disponibili per l'uso con le applicazioni di backup e ripristino:

API crittografia non elaborata Descrizione
OpenEncryptedFileRaw Aprire un file crittografato con accesso ai dati in formato crittografato. Se il chiamante non ha accesso alla chiave per il file, il chiamante necessita di SeBackupPrivilege per esportare file crittografati o SeRestorePrivilege per importare file crittografati.
CloseEncryptedFileRaw Chiudere un file crittografato aperto con OpenEncryptedFileRaw
ReadEncryptedFileRaw Leggere un file crittografato lasciando i dati in formato crittografato
WriteEncryptedFileRaw Scrivere un file crittografato lasciando i dati in formato crittografato
ImportCallback Callback definito dall'applicazione da usare con WriteEncryptedFileRaw
ExportCallback Callback definito dall'applicazione per l'uso con ReadEncryptedFileRaw