CryptoAPI 2.0 Persoonlijke sleutels
Schannelreferenties worden intern weergegeven als CERT_CONTEXT structuren. Schannel zoekt de persoonlijke sleutel gekoppeld aan een bepaalde certificaatcontext met behulp van de eigenschap CERT_KEY_PROV_INFO_PROP_ID van het certificaat. Met deze eigenschap opent Schannel de persoonlijke sleutel door de functie CryptAcquireContext aan te roepen. Zie openbare/persoonlijke sleutelparenvoor meer informatie.
Elke Schannel-referentie bevat een verwijzing naar een of meer persoonlijke sleutels, elk gekoppeld aan een bepaald certificaat. De persoonlijke sleutels worden heel anders verwerkt, afhankelijk van of de referentie voor een client of een server is.
Persoonlijke clientsleutels
Client-persoonlijke sleutels worden beheerd door de cryptografische serviceprovider (CSP) die wordt gebruikt. Persoonlijke clientsleutels worden doorgaans opgeslagen door CSP's van het type PROV_RSA_FULL of PROV_RSA_SIGNATURE.
Als de clienttoepassing de CryptAcquireContext handmatig aanroept, moet de client de ingang van de CSP binden aan de certificaatcontext met behulp van de eigenschap CERT_KEY_PROV_HANDLE_PROP_ID voordat u AcquireCredentialsHandle-aanroept. Als Schannel deze eigenschappenset vindt, wordt de eigenschap CERT_KEY_PROV_INFO_PROP_ID niet gebruikt.
Persoonlijke serversleutels
Persoonlijke serversleutels worden opgeslagen door een van de volgende CSP's:
- PROV_RSA_SCHANNEL
- PROV_DH_SCHANNEL
- PROV_FORTEZZA CSP
De keuze van CSP is afhankelijk van het geselecteerde algoritme voor sleuteluitwisseling. Persoonlijke serversleutels moeten van het type AT_KEYEXCHANGE zijn.