【问题标题】:How to read pfx file's thumbprint without prompt for password如何在不提示输入密码的情况下读取 pfx 文件的指纹
【发布时间】:2016-05-27 00:31:56
【问题描述】:

我需要从 文件系统 上的 pfx 文件获取指纹,而不会提示需要手动输入的密码。

我将它作为安装程序的一部分运行,其中用户指定文件系统上证书的路径(不在商店中)。并且用户指定证书的密码。从那时起,我需要指纹。

所以这只是发现一个工具的问题,我可以将路径和密码传递给 pfx 文件并返回指纹。我尝试了几种工具,但即使是为 Windows 编译的 OpenSSL,它仍然会提示输入密码并返回比指纹更多的信息。它需要 100% 程序化,并且无需用户进一步干预。

我很想听听有关如何执行此操作的任何想法。这将仅在 Windows Server 计算机上。谢谢!

【问题讨论】:

    标签: powershell ssl openssl certificate x509


    【解决方案1】:

    我找到了一种方法来做到这一点 - 它涉及下载适用于 Windows 的 OpenSSL,并使用该工具进行转换并使用 powershell 将其读出。

    转化率

    & openssl pkcs12 -in C:\LocalHost.pfx -out C:\mycertificates.crt -nokeys -clcerts -passin pass:ActualPassword

    读入

    $cert = 新对象 System.Security.Cryptography.X509Certificates.X509Certificate2("C:\mycertificates.crt") $thumbprint = $cert.Thumbprint

    写主机 $thumbprint

    所以我必须先转换为 crt/cer,然后使用 X509Certificate2 读取。

    【讨论】:

    • 而且你已经用密码转换了。那没有回答问题
    • @bradgonesurfing 我想你误读了这个问题——他有上一个安装步骤的密码,他只是想在没有提示的情况下打开它。
    【解决方案2】:

    在创建 .pfx (pkcs#12) 文件时,称为“SafeBags”的内部存储容器也可能被加密和签名。

    默认情况下,OpenSSL 将证书连同其私钥一起加密,这意味着不可能在不知道密码的情况下获取其指纹。

    创建 pfx 时,您可以显式添加-certpbe NONE 以避免加密证书。 更多详情请查看-certpbeOpenSSL's man page

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 2011-09-08
      • 2012-04-21
      • 2015-01-08
      相关资源
      最近更新 更多