Funzione BCryptSecretAgreement (bcrypt.h)
La funzione BCryptSecretAgreement crea un valore del contratto segreto da una chiave privata e 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 venire dallo stesso provider di algoritmi crittografici CNG.
[in] hPubKey
Handle della chiave pubblica da usare per creare il valore del contratto segreto. Questa chiave e la chiave hPrivKey devono venire dallo stesso provider di algoritmi crittografici 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ù necessario.
[in] dwFlags
Set di flag che modificano il comportamento di questa funzione. Per questa funzione non sono definiti flag.
Valore restituito
Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.
I codici restituiti possibili includono, ma non sono limitati a, i seguenti.
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 della chiave nel parametro hPrivKey non è una chiave Diffie-Hellman. |
Commenti
A seconda delle modalità di processore supportate da un provider, è possibile chiamare BCryptSecretAgreement dalla modalità utente o dalla modalità kernel. I chiamanti in modalità kernel possono essere eseguiti in PASSIVE_LEVELIRQL o DISPATCH_LEVEL IRQL. Se il livello IRQL corrente è DISPATCH_LEVEL, gli handle forniti nei parametri hPrivKey e hPubKey devono essere derivati da un handle di algoritmo restituito da un provider aperto usando il flag BCRYPT_PROV_DISPATCH e tutti i puntatori passati alla funzione BCryptSecretAgreement devono fare riferimento a memoria non di pagina (o bloccata).
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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | bcrypt.h |
Libreria | Bcrypt.lib |
DLL | Bcrypt.dll |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per