java – 查找证书是自签名还是CA签名

前端之家收集整理的这篇文章主要介绍了java – 查找证书是自签名还是CA签名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个网络应用程序,允许用户上传pkcs12.我将数据库中的pkcs12存储为二进制文件.有没有办法知道pkcs12中的证书是自签还是CA签?

我在tomcat上运行一个Java Web应用程序,并且可以使用openssl.

解决方法

这有点黑客,但openssl x509命令可以报告发行者和主题.如果主体和发行人是相同的,则是自签名的;如果它们不同,那么它是由CA签署的. (严格来说,自己也签署了很多自签证书.)

在测试这个理论的同时,我进行了一些测试;它运行的东西如下:

cd /etc/ssl/certs
for f in *.0 ; do openssl x509 -in $f -issuer | head -1 > /tmp/$f.issuer ; openssl x509 -in $f -subject | head -1 > /tmp/$f.subject ; done
 cd /tmp
 sed -i -e s/issuer=// *.issuer
 sed -i -e s/subject=// *.subject
 cd /etc/ssl/certs/
 for f in *.0 ; do diff -u /tmp/$f.issuer /tmp/$f.subject ; done

希望这可以帮助.

猜你在找的Java相关文章