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

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

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

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

请您参考如下方法:

我找到了一种方法 - 它涉及下载 OpenSSL for windows 并使用该工具进行转换并使用 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 读取。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!