UKey导出CER证书失败
在明华的智能卡设备中:
if(!CryptAcquireContext(
&hCryptProv,
NULL,
"M&W eKey XCSP V3",
PROV_RSA_FULL,
NULL))
{
return;
}
if(!CryptGetUserKey(hCryptProv,AT_KEYEXCHANGE,&hKey))
{
DWORD lr = GetLastError();
}
if (!CryptGetKeyParam(hKey, KP_CERTIFICATE, NULL, &dwCertLen, 0))
{
DWORD lr = GetLastError();
}
当CryptGetUserKey写成AT_KEYEXCHANGE时候没有错误当写成AT_SIGNATURE时候报错8009000D(NTE_NO_KEY
Key does not exist)。当CryptGetUserKey是AT_KEYEXCHANGE能够正常的导出CER证书数据,当是AT_SIGNATURE时候导出CER证书失败。在IE的证书库中可以看到是有一张加密证书和一张签名证书。为什么当是签名证书的时候获取不到用户公钥也导不出公钥cer证书???