我使用的是Windows XP SP3。我转售数字签名证书。我获取客户数据,将它们键入门户并将dsc下载到我的机器上。我使用Internet选项并将证书导出到带有密码的pfx文件并将其发送到客户端。因为,这是一次又一次地完成,在导出到pfx期间,无意中选择了错误的证书。生成pfx文件后,是否有任何方法可以知道pfx文件中的公用名,而无需重新安装证书。我已经研究过openssl,但不确定它是否可以通过批处理文件实现,因为必须实际输入密码。理想情况下,在导出10个pfx文件之后,我想运行一个只显示常用名称的批处理文件。一旦我确认名称是正确的(我已正确导出),我可以从商店中删除证书。
答案 0 :(得分:-1)
您应该编写自己的应用程序,它将执行PFX文件的批处理。
使用CryptoAPI的伪代码如下。
使用PFXImportCertStore逐个读取磁盘中的pfx文件。您将获得证书库上下文。
获取证书上下文PCCERT_CONTEXT phPfxCertCtx = CertEnumCertificatesInStore
获取主题名称。 phPfxCertCtx-> pCertInfo->主题
您可以拥有预定义的主题列表,以比较现在阅读的主题名称。
使用CERT_CLOSE_STORE_FORCE_FLAG关闭上下文和证书存储区CertCloseStore。