Certificate Java密钥工具不会解析我的CA证书的扩展

Certificate Java密钥工具不会解析我的CA证书的扩展,certificate,keytool,self-signed,Certificate,Keytool,Self Signed,我目前正在创建一个Android应用程序,它应该向服务器发送POST请求。不幸的是,服务器正在使用自签名证书。因此,我必须创建一个包含CA证书的PKCS12密钥库,并让我的应用程序使用该密钥库 要创建这样的密钥库,我当前使用以下命令: keytool -import -trustcacerts -alias my-alias -file cacert.pem -keystore mykeystorefile -storetype PKCS12 不幸的是,密钥库不起作用。SSL握手请求失败 当我

我目前正在创建一个Android应用程序,它应该向服务器发送POST请求。不幸的是,服务器正在使用自签名证书。因此,我必须创建一个包含CA证书的PKCS12密钥库,并让我的应用程序使用该密钥库

要创建这样的密钥库,我当前使用以下命令:

keytool -import -trustcacerts -alias my-alias -file cacert.pem
-keystore mykeystorefile -storetype PKCS12
不幸的是,密钥库不起作用。SSL握手请求失败

当我使用以下命令检查密钥库时:

keytool -list -v -keystore mykeystorefile
我注意到在这个列表的末尾有一条奇怪的线

#8: ObjectId: 2.5.29.18 Criticality=false
Unparseable IssuerAlternativeName extension due to
java.io.IOException: No data available in passed DER encoded value.

0000: 30 00                                              0.



*******************************************
*******************************************
Keytool无法分析作为CA证书一部分的扩展

我在LetsEncrypt的CA证书上也尝试了同样的方法,效果很好

我很乐意得到关于如何处理和解决这个问题的任何建议

谢谢

编辑:我目前使用的Keytool是java-8-openjdk的一部分


Edit2:所以在检查ca证书后,颁发者替代名称扩展没有任何值。想知道是否有办法跳过该扩展?

没有办法跳过证书上的任何内容

如果颁发者备选名称为空,则生成该证书的人已将其生成错误。如果是自签名证书,则颁发者备选名称和使用者备选名称的值相同。如果由任何CA签名,则CA的主题备选名称将放在最终用户的颁发者备选名称中

您可能需要向他们索取正确的CA证书