Funzione BCryptSecretAgreement (bcrypt.h)
La funzione BCryptSecretAgreement crea un valore del contratto segreto da una chiave privata e una chiave pubblica.
Sintassi
NTSTATUS BCryptSecretAgreement(
[in] BCRYPT_KEY_HANDLE hPrivKey,
[in] BCRYPT_KEY_HANDLE hPubKey,
[out] BCRYPT_SECRET_HANDLE *phAgreedSecret,
[in] ULONG dwFlags
);
Parametri
[in] hPrivKey
Handle della chiave privata da usare per creare il valore del contratto segreto. Questa chiave e la chiave hPubKey devono provenire dallo stesso provider di algoritmi di crittografia CNG.
[in] hPubKey
Handle della chiave pubblica da usare per creare il valore del contratto segreto. Questa chiave e la chiave hPrivKey devono provenire dallo stesso provider di algoritmi di crittografia CNG.
[out] phAgreedSecret
Puntatore a un BCRYPT_SECRET_HANDLE che riceve un handle che rappresenta il valore del contratto segreto. Questo handle deve essere rilasciato passandolo alla funzione BCryptDestroySecret quando non è più necessaria.
[in] dwFlags
Set di flag che modificano il comportamento di questa funzione. Non sono definiti flag per questa funzione.
Valore restituito
Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.
I codici restituiti possibili includono, ma non solo, quanto segue.
Codice restituito | Descrizione |
---|---|
|
La funzione ha avuto esito positivo. |
|
L'handle della chiave nel parametro hPrivKey o hPubKey non è valido. |
|
Uno o più parametri non sono validi. |
|
L'handle di chiave nel parametro hPrivKey non è una chiave di Diffie-Hellman. |
Osservazioni
A seconda delle modalità del processore supportate da un provider, è possibile chiamare BCryptSecretAgreement dalla modalità utente o dal kernel. I chiamanti in modalità kernel possono essere eseguiti in PASSIVE_LEVELirQL o DISPATCH_LEVEL IRQL. Se il livello IRQL corrente è
Per chiamare questa funzione in modalità kernel, usare Cng.lib, che fa parte del Driver Development Kit (DDK). Windows Server 2008 e Windows Vista: Per chiamare questa funzione in modalità kernel, usare Ksecdd.lib.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [app desktop | App UWP] |
server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
bcrypt.h |
libreria |
Bcrypt.lib |
dll | Bcrypt.dll |