X509 证书的错误码
由于 OpenSSL 报告的证书错误,多个功能可能会失败。
在这种情况下,该函数通过其回调提供 <Error>,该回调具有属性 code,该属性可以采用以下值之一:
'UNABLE_TO_GET_ISSUER_CERT': 无法获得颁发者证书。'UNABLE_TO_GET_CRL': 无法获得证书 CRL。'UNABLE_TO_DECRYPT_CERT_SIGNATURE': 无法解密证书的签名。'UNABLE_TO_DECRYPT_CRL_SIGNATURE': 无法解密 CRL 的签名。'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY': 无法解码发行者公钥。'CERT_SIGNATURE_FAILURE': 证书签名失败。'CRL_SIGNATURE_FAILURE': CRL 签名失败。'CERT_NOT_YET_VALID': 证书尚未生效。'CERT_HAS_EXPIRED': 证书已过期。'CRL_NOT_YET_VALID': CRL 尚未生效。'CRL_HAS_EXPIRED': CRL 已过期。'ERROR_IN_CERT_NOT_BEFORE_FIELD': 证书的 notBefore 字段中的格式错误。'ERROR_IN_CERT_NOT_AFTER_FIELD': 证书的 notAfter 字段中的格式错误。'ERROR_IN_CRL_LAST_UPDATE_FIELD': CRL 的 lastUpdate 字段中的格式错误。'ERROR_IN_CRL_NEXT_UPDATE_FIELD': CRL 的 nextUpdate 字段中的格式错误。'OUT_OF_MEM': 内存不足。'DEPTH_ZERO_SELF_SIGNED_CERT': 自签名证书。'SELF_SIGNED_CERT_IN_CHAIN': 证书链中的自签名证书。'UNABLE_TO_GET_ISSUER_CERT_LOCALLY': 无法获得本地颁发者证书。'UNABLE_TO_VERIFY_LEAF_SIGNATURE': 无法验证第一个证书。'CERT_CHAIN_TOO_LONG': 证书链太长。'CERT_REVOKED': 证书已撤销。'INVALID_CA': 无效的 CA 证书。'PATH_LENGTH_EXCEEDED': 超出路径长度限制。'INVALID_PURPOSE': 不支持的证书用途。'CERT_UNTRUSTED': 证书不受信任。'CERT_REJECTED': 证书被拒绝。'HOSTNAME_MISMATCH': 主机名不匹配。
Multiple functions can fail due to certificate errors that are reported by
OpenSSL. In such a case, the function provides an <Error> via its callback that
has the property code which can take one of the following values:
'UNABLE_TO_GET_ISSUER_CERT': Unable to get issuer certificate.'UNABLE_TO_GET_CRL': Unable to get certificate CRL.'UNABLE_TO_DECRYPT_CERT_SIGNATURE': Unable to decrypt certificate's signature.'UNABLE_TO_DECRYPT_CRL_SIGNATURE': Unable to decrypt CRL's signature.'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY': Unable to decode issuer public key.'CERT_SIGNATURE_FAILURE': Certificate signature failure.'CRL_SIGNATURE_FAILURE': CRL signature failure.'CERT_NOT_YET_VALID': Certificate is not yet valid.'CERT_HAS_EXPIRED': Certificate has expired.'CRL_NOT_YET_VALID': CRL is not yet valid.'CRL_HAS_EXPIRED': CRL has expired.'ERROR_IN_CERT_NOT_BEFORE_FIELD': Format error in certificate's notBefore field.'ERROR_IN_CERT_NOT_AFTER_FIELD': Format error in certificate's notAfter field.'ERROR_IN_CRL_LAST_UPDATE_FIELD': Format error in CRL's lastUpdate field.'ERROR_IN_CRL_NEXT_UPDATE_FIELD': Format error in CRL's nextUpdate field.'OUT_OF_MEM': Out of memory.'DEPTH_ZERO_SELF_SIGNED_CERT': Self signed certificate.'SELF_SIGNED_CERT_IN_CHAIN': Self signed certificate in certificate chain.'UNABLE_TO_GET_ISSUER_CERT_LOCALLY': Unable to get local issuer certificate.'UNABLE_TO_VERIFY_LEAF_SIGNATURE': Unable to verify the first certificate.'CERT_CHAIN_TOO_LONG': Certificate chain too long.'CERT_REVOKED': Certificate revoked.'INVALID_CA': Invalid CA certificate.'PATH_LENGTH_EXCEEDED': Path length constraint exceeded.'INVALID_PURPOSE': Unsupported certificate purpose.'CERT_UNTRUSTED': Certificate not trusted.'CERT_REJECTED': Certificate rejected.'HOSTNAME_MISMATCH': Hostname mismatch.