验证本地计算机证书

时间:2019-04-30 15:45:04

标签: powershell ssl ssl-certificate

我已经测试了以下PowerShell命令Get-ChildItem -Path Cert:\localMachine\My | Test-Certificate -Policy SSL -DNSName "dns=mydns.com"

但这显示了以下三个结果,但我并没有真正理解它们的含义:

  

警告:连锁状态:

     

CERT_TRUST_IS_UNTRUSTED_ROOT   Test-Certificate:已处理的证书链,但是终止于受信任提供者不信任的根证书。 0x800b0109(-2146762487 CERT_E_UNTRUSTEDROOT)

     

在线:1个字符:45

     
      
  • ... achine \我的|测试证书-政策SSL-DNSName“ mydns.com ...
  •   
  • + CategoryInfo          : NotSpecified: (:Certificate) [Test-Certificate], Exception
    + FullyQualifiedErrorId : CryptographicError,Microsoft.CertificateServices.Commands.TestCertificate
    
  •   
     

错误

     

警告:连锁状态:

     

CERT_TRUST_IS_NOT_TIME_VALID

     

CERT_TRUST_IS_UNTRUSTED_ROOT

     

Test-Certificate:已处理的证书链,但是终止于受信任提供者不信任的根证书。 0x800b0109(-2146762487 CERT_E_UNTRUSTEDROOT)

     

在线:1个字符:45

     
      
  • ... achine \我的|测试证书-政策SSL-DNSName“ mydns.com ...
  •   
  • + CategoryInfo          : NotSpecified: (:Certificate) [Test-Certificate], Exception
    + FullyQualifiedErrorId : CryptographicError,Microsoft.CertificateServices.Commands.TestCertificate
    
  •   
     

错误

     

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

     

在线:1个字符:45

     
      
  • ... achine \我的|测试证书-政策SSL-DNSName“ mydns.com ...
  •   
  • + CategoryInfo          : NotSpecified: (:Certificate) [Test-Certificate], Exception
    + FullyQualifiedErrorId : CryptographicError,Microsoft.CertificateServices.Commands.TestCertificate
    
  •   
     

错误

1 个答案:

答案 0 :(得分:0)

证书都是关于有效性和链条的。

首先,您在计算机上安装了受信任的根证书(例如VeriSign)。

然后可以从该根证书(例如,第三方证书提供者)信任证书。然后可以根据该下一个证书来信任新证书,依此类推。例如

Root Certificate -> 3rd Party Certificate -> mydns.com

第一条错误消息:

  

CERT_TRUST_IS_UNTRUSTED_ROOT

意味着您的计算机没有在“受信任的发布者”位置安装“根证书”。这意味着您的计算机不会隐式信任证书。

第二条错误消息:

  

CERT_TRUST_IS_NOT_TIME_VALID

通常表示证书已过期。即大多数证书仅有效一年。