
我有一个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证书格式?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)