Sdílet prostřednictvím


CryptoAPI 2.0 – privátní klíče

Přihlašovací údaje Schannel jsou interně reprezentovány jako CERT_CONTEXT struktury. Schannel vyhledá privátní klíč přidružený k určitému kontextu certifikátu pomocí vlastnosti CERT_KEY_PROV_INFO_PROP_ID certifikátu. Pomocí této vlastnosti Schannel přistupuje k privátní klíč voláním funkce CryptAcquireContext. Další podrobnosti najdete v tématu páry veřejného a privátního klíče.

Každý přihlašovací údaj Schannel obsahuje odkaz na jeden nebo více privátních klíčů, z nichž každý je přidružený ke konkrétnímu certifikátu. Privátní klíče se zpracovávají poměrně odlišně v závislosti na tom, jestli jsou přihlašovací údaje určené pro klienta nebo server.

Privátní klíče klienta

Privátní klíče klienta spravuje poskytovatel kryptografických služeb (CSP). Privátní klíče klienta obvykle ukládají poskytovatelé cloudových služeb typu PROV_RSA_FULL nebo PROV_RSA_SIGNATURE.

Pokud klientská aplikace vytvoří CryptAcquireContext volat ručně, pak před voláním AcquireCredentialsHandle, klient musí svázat popisovač CSP s kontextem certifikátu pomocí vlastnosti CERT_KEY_PROV_HANDLE_PROP_ID. Pokud Schannel najde tuto sadu vlastností, nepoužívá CERT_KEY_PROV_INFO_PROP_ID vlastnost.

Privátní klíče serveru

Privátní klíče serveru jsou uložené jedním z následujících poskytovatelů cloudových služeb:

  • PROV_RSA_SCHANNEL
  • PROV_DH_SCHANNEL
  • PROV_FORTEZZA CSP

Volba CSP závisí na vybraném algoritmu výměny klíčů . Privátní klíče serveru musí být typu AT_KEYEXCHANGE.