Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
La función BCryptSecretAgreement crea un valor de acuerdo secreto a partir de una clave privada y pública.
Sintaxis
NTSTATUS BCryptSecretAgreement(
[in] BCRYPT_KEY_HANDLE hPrivKey,
[in] BCRYPT_KEY_HANDLE hPubKey,
[out] BCRYPT_SECRET_HANDLE *phAgreedSecret,
[in] ULONG dwFlags
);
Parámetros
[in] hPrivKey
Identificador de la clave privada que se va a usar para crear el valor del contrato secreto. Esta clave y la clave hPubKey deben proceder del mismo proveedor de algoritmos criptográficos CNG.
[in] hPubKey
Identificador de la clave pública usar para crear el valor del contrato secreto. Esta clave y la clave hPrivKey deben proceder del mismo proveedor de algoritmos criptográficos CNG.
[out] phAgreedSecret
Puntero a un BCRYPT_SECRET_HANDLE que recibe un identificador que representa el valor del contrato secreto. Este identificador se debe liberar pasando a la función BCryptDestroySecret cuando ya no se necesite.
[in] dwFlags
Conjunto de marcas que modifican el comportamiento de esta función. No se definen marcas para esta función.
Valor devuelto
Devuelve un código de estado que indica el éxito o error de la función.
Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.
| Código devuelto | Descripción |
|---|---|
|
La función se realizó correctamente. |
|
El identificador de clave del hPrivKey o parámetro hPubKey no es válido. |
|
Uno o varios parámetros no son válidos. |
|
El identificador de clave del parámetro hPrivKey no es una clave Diffie-Hellman. |
Observaciones
En función de los modos de procesador que admita un proveedor, se puede llamar a BCryptSecretAgreement desde el modo de usuario o el modo kernel. Los autores de llamadas en modo kernel se pueden ejecutar en PASSIVE_LEVELIRQL o DISPATCH_LEVEL IRQL. Si el nivel de IRQL actual es DISPATCH_LEVEL, los identificadores proporcionados en el hPrivKey y parámetros hPubKey deben derivarse de un identificador de algoritmo devuelto por un proveedor que se abrió mediante la marca BCRYPT_PROV_DISPATCH y los punteros pasados al BCryptSecretAgreement función deben hacer referencia a la memoria no paginada (o bloqueada).
Para llamar a esta función en modo kernel, use Cng.lib, que forma parte del Kit de desarrollo de controladores (DDK). Windows Server 2008 y Windows Vista: Para llamar a esta función en modo kernel, use Ksecdd.lib.
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
| servidor mínimo admitido | Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
| de la plataforma de destino de |
Windows |
| encabezado de |
bcrypt.h |
| biblioteca de |
Bcrypt.lib |
| DLL de |
Bcrypt.dll |