android– 如何验证X.509证书格式?

android– 如何验证X.509证书格式?,第1张

概述我有一个SSL证书(从服务器的根开始的证书链)似乎是好的.我可以在Windows和Windows上打开证书还可以使用Windows向导导入它.但是当我尝试通过以下命令将其转换为密钥库时(使用BouncyCastle):keytool-importcert-v-trustcacerts-file"test.crt"-aliasca-keystore"test.bks

我有一个SSL证书(从服务器的根开始的证书链)似乎是好的.我可以在Windows和Windows上打开证书还可以使用windows向导导入它.

但是当我尝试通过以下命令将其转换为密钥库时(使用BouncyCastle):

keytool -importcert -v -trustcacerts -file "test.crt" -alias ca -keystore "test.bks" -provIDer org.bouncycastle.jce.provIDer.BouncyCastleProvIDer -provIDerpath "bcprov-ext-jdk15on-1.46.jar" -storetype BKS -storepass testtest

我得到以下错误:

keytool error: java.lang.Exception: input not an X.509 certificatejava.lang.Exception: input not an X.509 certificate        at sun.security.tools.KeyTool.addTrustedCert(UnkNown Source)        at sun.security.tools.KeyTool.doCommands(UnkNown Source)        at sun.security.tools.KeyTool.run(UnkNown Source)        at sun.security.tools.KeyTool.main(UnkNown Source)

我正在开发一个AndroID应用程序,我需要通过https调用基于REST的API.

是否有任何基于Web的工具(或其他)通过我可以验证证书?

解决方法:

看来你的test.crt不是X.509格式.通常,如果它是PEM编码的X.509证书,它将从该行开始:

-----BEGIN CERTIFICATE-----MII...

要么

-----BEGIN TRUSTED CERTIFICATE-----MII...

DER-endcoded X.509证书对您来说似乎是随机二进制数据,但您可以使用openssl命令行解码此类DER编码文件:

openssl asn1parse -inform d -in test.crt -i

输出中的起始OID将告诉您它是否是X.509证书或其他类似PKCS#7包.

总结

以上是内存溢出为你收集整理的android – 如何验证X.509证书格式?全部内容,希望文章能够帮你解决android – 如何验证X.509证书格式?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1106560.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存