使用 OpenSSL 从 PFX 文件中提取证书_不_

发布于 2024-07-14 03:04:48 字数 259 浏览 10 评论 0原文

我找到了一个使用 OpenSSL 的答案,但我使用的是 Windows,并且我手上不容易有它。 有没有办法(例如使用 CERTUTIL 或 VBScript)查看 .PFX 文件中的证书?

如果我使用“certutil -dump”,它会要求输入密钥的密码。 我不需要密钥,而且证书应该是公开的。

I found an answer that uses OpenSSL, but I'm on Windows, and I don't have it easily to hand. Is there a way (e.g. using CERTUTIL or VBScript) to see the certificates in a .PFX file?

If I use "certutil -dump", it asks for the password for the key. I don't want the key, and the certificate's supposed to be public.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

女中豪杰 2024-07-21 03:04:48

在 PFX 文件中,私钥和证书均已加密(使用相同的密码)。 如果您不知道密码,您将无法获得证书。 如果您知道,certutil -dump 就足够了。

In a PFX file, both the private key and the certificate are encrypted (using the same password). If you do not know the password, you won’t get the certificate. If you know it, certutil -dump should suffice.

妄想挽回 2024-07-21 03:04:48

您可以使用 pkiclient 中的 Get-PfxData

https://learn.microsoft。 com/en-us/powershell/module/pkiclient/get-pfxdata?view=win10-ps

示例:

$mypwd = ConvertTo-SecureString -String "localhost" -Force -AsPlainText
$mypfx = Get-PfxData -FilePath C:\Users\oscar\Desktop\localhost.pfx -Password $mypwd   
$mypfx
$mypfx.EndEntityCertificates

如果您存储了证书并需要 .sst(Microsoft 序列化证书store)、.cer (CERT) 或 .p7b (PKCS#7) 文件,您可以使用 pkiclient< 中的 Export-Certificate /code> (或通过 MMC 导出,无需私钥)。

https://learn.microsoft。 com/en-us/powershell/module/pkiclient/export-certificate?view=win10-ps

导出 IIS Express 生成的本地主机证书的示例:

启动 mmc.exe。

然后转到:

文件-> 添加或删除管理单元 -> 证书-> 添加-> 电脑账户-> 本地计算机

展开个人文件夹,您将看到您的本地主机证书。

双击,转到“详细信息”并复制证书指纹。

然后运行命令:

$cert = (Get-ChildItem -Path cert:\LocalMachine\My\{YourThumbprint})
Export-Certificate -Cert $cert -FilePath C:\Users\oscar\Desktop\localhost.cer

注意:如果您需要当前用户的证书,请将上述命令中的 LocalMachine 替换为 CurrentUser

You can use Get-PfxData from pkiclient.

https://learn.microsoft.com/en-us/powershell/module/pkiclient/get-pfxdata?view=win10-ps

Example:

$mypwd = ConvertTo-SecureString -String "localhost" -Force -AsPlainText
$mypfx = Get-PfxData -FilePath C:\Users\oscar\Desktop\localhost.pfx -Password $mypwd   
$mypfx
$mypfx.EndEntityCertificates

If you have the certificate in store and need a .sst (Microsoft serialized certificate store), .cer (CERT) or .p7b (PKCS#7) file you can use Export-Certificate from pkiclient (Or Export it via MMC without the private key).

https://learn.microsoft.com/en-us/powershell/module/pkiclient/export-certificate?view=win10-ps

Example for exporting IIS Express generated localhost certificate:

Start mmc.exe.

Then go to:

File -> Add or Remove Snap-ins -> Certificates -> Add -> Computer account -> Local computer

Expand the Personal folder and you will see your localhost certificate.

Double click, go to Details and copy the certificate Thumbprint.

Then run the command:

$cert = (Get-ChildItem -Path cert:\LocalMachine\My\{YourThumbprint})
Export-Certificate -Cert $cert -FilePath C:\Users\oscar\Desktop\localhost.cer

Note: If you need a certificate from your current user then replace LocalMachine with CurrentUser in the above command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文