我试图查看我的盒子上的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它:
它将默认search“CurrentUser”和“LocalMachine”证书商店,并在指纹,主题名称和序列号上进行宽松的不区分大小写的匹配。 您还可以添加-PrivateKey以仅列出具有私钥的证书和-expiration以到期date列出证书。 除了使用-expiration标志时,它将返回可以操作的实际.NET X509Certificate对象的列表。
用法示例:
get-cert a909
get-cert contoso -privateKey
它还添加了两个别名:lscert,dircert