我使用 . 导入了第三方 CA 颁发的 PFX 证书PFXImportCertStore
。成功导入后,同一个调用默认PCERT_KEY_PROV_INFO_PROP_ID
设置为以下值,PFXImportCertStore
为什么被
dwKeySpec
识别为AT_KEYEXCHANGE
键类型而不是AT_SIGNATURE
?为什么
pwszProvName
设置为 Microsoft Base Cryptographic Provider v1.0?首先颁发的证书仅用于数字签名。但密钥使用字段表明该证书可用于数字签名、不可否认性、密钥加密、数据加密(f0)。增强的密钥用法表明,客户端身份验证和安全电子邮件?CA 是否已正确颁发证书?证书正面显示以下信息(以下屏幕截图),这让我怀疑此证书不是为数字歌唱而颁发的?我的想法是否正确?
4.由于这些问题,我无法使用CryptSignMessage
. 内部调用无法获取用于签名的私钥的上下文。关于如何解决这个问题的任何建议?我可以使用我生成的自签名 PFX 证书进行签名。您是否认为我可以将私钥导出到新容器并将其属性设置为AT_SIGNATURE
,并将 csp 提供程序类型设置为PROV_RSA_AES
,因为我需要 SHA256。
我正在使用 XP sp3。
谢谢