使用powershell验证证书链

7 powershell ssl certificate

我正在尝试编写一个验证PowerShell中证书链的脚本(链中的所有证书都没有过期),并找到最接近过期的证书.我正在使用以下脚本来查找颁发者证书:

Get-ChildItem -Recurse -Path Cert:| Where-Object {$ _.Subject -eq $ Certificate.Issuer}

由于某些证书的某些原因,我获得了多个具有不同Thumbprints的证书,这些证书具有相同的发行者名称,我预计应该只有一个.

证书的其他任何属性是否唯一标识发行人证书?也许有其他方法来验证证书链?

mal*_*der 5

查看测试证书:http : //poshcode.org/1633

测试证书链和撤销的指定证书

4.0 中包含一个 Test-Certificate cmdlet
http://technet.microsoft.com/en-us/library/hh848639.aspx

我在我的本地主机上运行这个只是测试它,

Get-childitem cert: -recurse | %{ write-host $_ ; Test-Certificate -cert $_ }
Run Code Online (Sandbox Code Playgroud)

当链中的证书过期时,它会给出一个很好的错误。

警告:链状态:CERT_TRUST_IS_NOT_TIME_VALID 测试证书:根据当前系统时钟或签名文件中的时间戳进行验证时,所需的证书不在其有效期内。