我们使用android https验证的的时候出现如下错误:
03-17 10:47:01.941: W/System.err(12702): java.security.cert.CertificateException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
03-17 10:47:01.942: W/System.err(12702): at com.android.org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272)
解决办法:将server.crt 格式证书 改为server.cer证书,换句话说重新生成server.cer证书
为什么这样改了?
CER is an X.509 certificate in binary form, DER encoded.
CRT is a binary X.509 certificate, encapsulated in text (base-64) encoding.
It is not the same encoding.
然而我们android 大都支持 .cer 格式证书