açılan MS-CAPI şifreleme hizmeti sağlayıcısı (CSP) aktive ediliyor). KeyStore sadece bir çağrı yapar ve aradaki katmanlar sadece geçer; Size şöyle
// Use CertEnumCertificatesInStore to get the certificates
// from the open store. pCertContext must be reset to
// NULL to retrieve the first certificate in the store.
while (pCertContext = ::CertEnumCertificatesInStore(hCertStore, pCertContext))
{
// Check if private key available - client authentication certificate
// must have private key available.
HCRYPTPROV hCryptProv = NULL;
DWORD dwKeySpec = 0;
HCRYPTKEY hUserKey = NULL;
BOOL bCallerFreeProv = FALSE;
BOOL bHasNoPrivateKey = FALSE;
DWORD dwPublicKeyLength = 0;
if (::CryptAcquireCertificatePrivateKey(pCertContext, NULL, NULL,
&hCryptProv, &dwKeySpec, &bCallerFreeProv) == FALSE)
{
bHasNoPrivateKey = TRUE;
} else {
// Private key is available
BOOL bGetUserKey = ::CryptGetUserKey(hCryptProv, dwKeySpec, &hUserKey);
// Skip certificate if cannot find private key
if (bGetUserKey == FALSE)
{
if (bCallerFreeProv)
::CryptReleaseContext(hCryptProv, NULL);
continue;
}
....
: belirteci üzerinde yazılım doğrulama pop-up yukarı atar ve oturum-devlet tutar bir, vb uygulama vardır anahtar Java dll sunmscapi.dll olduğunu
olduğunu her zaman özel bir anahtar için kontrol edebilir. Bu kodu değiştirmek ve bunu önlemek ya da bu denetimi başka bir şekilde yenilemek için özel bir sunmscapi.dll sürümü oluşturmanız gerekir.
Bu soru emsworth'a çok fazla ilgi göstermiyor, belki de Oracle forumlarından da (bu soruya link) sorun. –