从pfx文件中提取公用名

时间:2011-08-29 02:27:04

标签: pfx

我使用的是Windows XP SP3。我转售数字签名证书。我获取客户数据,将它们键入门户并将dsc下载到我的机器上。我使用Internet选项并将证书导出到带有密码的pfx文件并将其发送到客户端。因为,这是一次又一次地完成,在导出到pfx期间,无意中选择了错误的证书。生成pfx文件后,是否有任何方法可以知道pfx文件中的公用名,而无需重新安装证书。我已经研究过openssl,但不确定它是否可以通过批处理文件实现,因为必须实际输入密码。理想情况下,在导出10个pfx文件之后,我想运行一个只显示常用名称的批处理文件。一旦我确认名称是正确的(我已正确导出),我可以从商店中删除证书。

1 个答案:

答案 0 :(得分:-1)

您应该编写自己的应用程序,它将执行PFX文件的批处理。

使用CryptoAPI的伪代码如下。

  1. 使用PFXImportCertStore逐个读取磁盘中的pfx文件。您将获得证书库上下文。

  2. 获取证书上下文PCCERT_CONTEXT phPfxCertCtx = CertEnumCertificatesInStore

  3. 获取主题名称。 phPfxCertCtx-> pCertInfo->主题

  4. 您可以拥有预定义的主题列表,以比较现在阅读的主题名称。

  5. 使用CERT_CLOSE_STORE_FORCE_FLAG关闭上下文和证书存储区CertCloseStore。