这几天做实验要用,打算在这里再仔细解读一番。
testssl官方文档1
-S, --server_defaults displays information from the server hello(s):
- Available TLS extensions,
- TLS ticket + session ID information/capabilities,
- session resumption capabilities,
- Time skew relative to localhost (most server implementations return random values).
- Several certificate information
- signature algorithm,
- key size,
- key usage and extended key usage,
- fingerprints and serial
- Common Name (CN), Subject Alternative Name (SAN), Issuer,
- Trust via hostname + chain of trust against supplied certificates
- EV certificate detection
- experimental “eTLS” detection
- validity: start + end time, how many days to go (warning for certificate lifetime >=5 years)
- revocation info (CRL, OCSP, OCSP stapling + must staple). When --phone-out supplied it checks against the certificate issuer whether the host certificate has been revoked (plain OCSP, CRL).
- displaying DNS Certification Authority Authorization resource record
- Certificate Transparency info (if provided by server).
- cert_numbers 证书数目
- cert_keySize 证书密钥大小
- cert_keyUsage 证书密钥的使用(Digital Signature用于签名)
- cert_extKeyUsage 扩展密钥用法。
- cert_serialNumber 证书的序列号
- cert_fingerprintSHA1
- cert_fingerprintSHA256
- cert_commonName 证书的CN
- cert_commonName_wo_SNI SNI,Server Name Indicator ,用于指示一个ip地址多个DNS主机名的情况。这时,这个ip地址上可以放置多个主机名使用的多张证书。
- cert_subjectAltName 证书的SAN
- cert_caIssuers 证书的颁发者
- cert_trust 证书是否可信任
- cert_chain_of_trust 证书链是否可信任
- cert_certificatePolicies_EV 是否是增强型证书,域名是用DNS验证证书即可,EV需要单位性质才可以访问,DV是只要有域名管理权限就可以申请,因此使用DV的不需要验证申请证书的实体,因此只能保证加密,不可保证网站是真实的。
- cert_eTLS 不是很清楚这里eTLS是什么意思,这个e好像是experimental
- cert_expirationStatus 过期标识
- cert_notBefore 证书有效期的开头
- cert_notAfter 证书有效期的结尾
- cert_validityPeriod 证书的生命周期
- certs_countServer 不太清楚这是啥,打印看看。
- certs_list_ordering_problem 因该是很多个证书的列表的顺序是否出错。
- cert_crlDistributionPoints CRL的URL
- cert_ocspURL OCSP的URL
- OCSP_stapling OCSP 装订
- cert_mustStapleExtension 这篇文章讲得很好,就是再说其实OCSP也是有漏洞的,如果客户端频繁请求OCSP,那么可能服务器会宕机,或者攻击者不允许客户端请求OCSP的情况下,证书是否被撤销的请求就不可信。基于此,chrome有自己维护的CRI列表,而不用OCSP机制。而OCSP也有自己的解决方法,它使用了mustStapleExtension的标签,OCSP请求也由浏览器转移到服务器,由服务器请求OCSP,并将请求结果放入cert中。 如果浏览器看到带有此扩展名的证书而未使用OCSP装订,则不应接受该证书。
- DNS_CAArecord DNS_CAA
- certificate_transparency CT表示