java - 证书链验证

标签 java ssl openssl certificate ssl-certificate

如何在 java 或 open ssl 中进行证书链验证? 我正在编写应用程序,用户放置错误的链顺序是非常常见的情况。证书以 *.pem 格式导入。

-----BEGIN CERTIFICATE-----
MIIEDDCCAvSgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIExDCCA6ygAwIBAgIJAJGR2RC4vX04MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
f3sCZkch3E3Cb9GTBCq/c39A5ay6xj4b
-----END CERTIFICATE-----

我不关心证书是否有效,只关心它们是按正确的顺序导入的!

提前致谢!

最佳答案

openssl verify -verbose -purpose sslserver -CAfile <file containing both root and intermediates> <file containing signed cert> 

If successful, you’ll get back a response like : OK

If unsuccessful (or something is missing), you’ll get back a response like:

Error 20 at 0 depth lookup: unable to get local issuer certificate

关于java - 证书链验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25547976/

相关文章:

java - 为什么在方法中看不到 "private static"?

java - 在将 String 转换为 Date 时,java.util.Date 和 java.sql.Date 之间存在歧义

azure - 无法坚持使用 SSL 的应用程序网关重定向的自定义域

php - 如何验证https站点的用户名/密码以访问php中的文件

java - Netbeans-NoSuchElementException

java - 设置单独的 SO_TIMEOUT

ssl - 添加SSL证书配置后无法重启Nginx?

ssl - TLS 握手失败,错误为 tls : first record does not look like a TLS handshake server=Orderer remoteaddress=192. 168.144.4:43496

Android 9 Google Pixel One 上的 SSL 问题

openssl - 初始化向量(IV)中的数字全为零