Funzione CryptUpdateProtectedState (dpapi.h)
La funzione CryptUpdateProtectedState esegue la migrazione delle chiavi master dell'utente corrente dopo la modifica dell'identificatore di sicurezza dell'utente. Questa funzione può essere usata per conservare i dati crittografati dopo che un utente è stato spostato da un dominio a un altro.
Sintassi
DPAPI_IMP BOOL CryptUpdateProtectedState(
[in] PSID pOldSid,
[in] LPCWSTR pwszOldPassword,
[in] DWORD dwFlags,
[out] DWORD *pdwSuccessCount,
[out] DWORD *pdwFailureCount
);
Parametri
[in] pOldSid
Indirizzo di una struttura SID contenente il SID precedente dell'utente. Questo SID viene usato per individuare le chiavi master precedenti. Se questo parametro è NULL, vengono migrate le chiavi master per il SID utente corrente.
Questo parametro o il parametro pwszOldPassword può essere NULL, ma non entrambi.
[in] pwszOldPassword
Puntatore a una stringa Unicode con terminazione null contenente la password dell'utente prima della modifica del SID. Questa password viene usata per decrittografare le chiavi master precedenti. Se questo parametro è NULL, verrà usata la password dell'utente corrente.
Questo parametro o il parametro pOldSid può essere NULL, ma non entrambi.
[in] dwFlags
Non usato. Deve essere zero.
[out] pdwSuccessCount
Indirizzo di una variabile DWORD che riceve il numero di chiavi master migrate correttamente.
[out] pdwFailureCount
Indirizzo di una variabile DWORD che riceve il numero di chiavi master che non è stato possibile decrittografare.
Non è necessariamente un errore se non è possibile decrittografare una o più chiavi master. Alcuni utenti possono avere chiavi master che sono stagnanti e non potevano essere state decrittografate per molto tempo. Un modo in cui ciò può verificarsi è quando la password di un utente locale è stata reimpostata in modo amministrativo.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE.
Se la funzione ha esito negativo, il valore restituito è FALSE. Per informazioni sull'errore estese, chiamare GetLastError. Alcuni possibili codici di errore includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
Uno dei parametri contiene un valore non valido. |
|
Si è verificato un errore di allocazione della memoria. |
|
Impossibile crittografare la password precedente. |
Commenti
Questa funzione decrittografa tutte le chiavi master dell'utente nella vecchia directory della chiave master, usando la password precedente e le archivia nella directory della chiave master corrente dell'utente, crittografata con la password corrente dell'utente.
Questa funzione deve essere chiamata dall'account utente a cui vengono migrate le chiavi.
Se questa funzione è in grado di eseguire correttamente la migrazione di una chiave master precedente, eliminerà automaticamente la chiave master precedente. Le chiavi master che non possono essere decrittografate non vengono eliminate.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | dpapi.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |