更好的方式来查看Windows证书比MMC?

我试图查看我的盒子上的Windows证书,但certmgr和MMC的UI是可怕的。 具体来说,我想快速查看和比较指纹和友好名称。 有谁知道一个更好的工具来做到这一点?

不必是GUI,如果他们工作的更好,我可以使用控制台命令。

您可以打开Powershell控制台,并使用Cert:提供程序上的dir命令列出所需的信息。 例如,下面的命令将分别列出当前用户证书和机器证书的指纹和主题(友好名称):

dir Cert:\CurrentUser\My ls Cert:\LocalMachine\My\ 

您可以运行下面的命令以获取有关如何使用Powershell中的证书提供程序处理证书的更多信息。

 help certificate 

或者你可以在这里阅读更多的在线

您可以使用VBS脚本,如:

 Dim store Set store = CreateObject("CAPICOM.Store") WScript.Echo "Dumping local Root CAs:" store.Open , "Root", 0 ' or "My" or "CA" For Each cert In store.CERTIFICATES WScript.Echo cert.SubjectName 'WScript.Echo cert.SerialNumber WScript.Echo cert.Thumbprint WScript.Echo "---------------------------------------" Next WScript.Echo "=============================================================================" WScript.Echo "Dumping Personal CAs:" store.Open , "CA", 0 For Each cert In store.CERTIFICATES WScript.Echo cert.SubjectName 'WScript.Echo cert.SerialNumber WScript.Echo cert.Thumbprint WScript.Echo "---------------------------------------" Next WScript.Echo "=============================================================================" WScript.Echo "Dumping Personal certificates:" store.Open , "My", 0 For Each cert In store.CERTIFICATES WScript.Echo cert.SubjectName 'WScript.Echo cert.SerialNumber WScript.Echo cert.Thumbprint WScript.Echo "---------------------------------------" Next 

将代码复制到名为dumpcerts.vbs的文件中并执行

 cscript dumpcerts.vbs 

我创build了一个PowerShell脚本,通过指纹,主题名称或序列号查找证书变得非常简单。 你可以在这里find它:

http://pastebin.com/5hry63z6

它将默认search“CurrentUser”和“LocalMachine”证书商店,并在指纹,主题名称和序列号上进行宽松的不区分大小写的匹配。 您还可以添加-PrivateKey以仅列出具有私钥的证书和-expiration以到期date列出证书。 除了使用-expiration标志时,它将返回可以操作的实际.NET X509Certificate对象的列表。

用法示例:

get-cert a909

get-cert contoso -privateKey

它还添加了两个别名:lscert,dircert