Compartir a través de


Claves privadas de CryptoAPI 2.0

Las credenciales de Schannel se representan internamente como estructuras CERT_CONTEXT. Schannel busca la clave privada asociada a un contexto de certificado determinado mediante la propiedad CERT_KEY_PROV_INFO_PROP_ID del certificado. Con esta propiedad, Schannel accede a la clave privada llamando a la función CryptAcquireContext. Para obtener más información, consulte pares de claves públicas y privadas.

Cada credencial de Schannel contiene una referencia a una o varias claves privadas, cada una asociada a un certificado determinado. Los claves privadas se controlan de forma bastante diferente en función de si la credencial es para un cliente o un servidor.

Claves privadas de cliente

El proveedor de servicios criptográficos(CSP)administra las claves privadasclaves privadas en uso. Las claves privadas de cliente normalmente se almacenan mediante CSP de tipo PROV_RSA_FULL o PROV_RSA_SIGNATURE.

Si la aplicación cliente realiza la llamadadeCryptAcquireContext manualmente antes de llamar a AcquireCredentialsHandle, el cliente debe enlazar el identificador del CSP al contexto de certificado mediante la propiedad CERT_KEY_PROV_HANDLE_PROP_ID. Si Schannel encuentra este conjunto de propiedades, no usa la propiedad CERT_KEY_PROV_INFO_PROP_ID.

Claves privadas del servidor

Las claves privadas del servidor se almacenan mediante uno de los siguientes CSP:

  • PROV_RSA_SCHANNEL
  • PROV_DH_SCHANNEL
  • PROV_FORTEZZA CSP

La elección de CSP depende del algoritmo de intercambio de claves de seleccionado. Las claves privadas del servidor deben ser de tipo AT_KEYEXCHANGE.