java - 我如何确保我导入到 cacert 的证书(myAppCertificate.crt)已经存在于 cacert 文件中?

标签 java ssl https ssl-certificate

我如何确保我导入到 cacert 的证书 (myAppCertificate.crt) 已经存在于 cacert 文件中? 有关信息,我正在使用

导入证书

keytool -import -alias myAppca -file myAppCertificate.crt -keystore cacerts -v

出于测试目的,我尝试在 cacert 文件中再次添加已经存在的证书,但它没有给我任何异常/警告 该证书已经存在。 有没有办法在实际导入之前确认证书是否已经存在?

最佳答案

如果您使用 keytool -list -keystore cacerts,您将获得所有证书及其指纹的列表。 (如果你使用 Java 6 的 keytool,你会看到 MD5 指纹,如果你使用 Java 7 的版本,你会得到 SHA-1 指纹,更好。)

如果您使用 keytool -printcert -file myAppCertificate.crt,您应该会看到证书指纹(包括 MD5 和 SHA-1)。

如果您从该证书获得的值在列表中,则您的证书已经在 keystore 中。

(有关什么是指纹的更多详细信息,请参阅 this question。)

关于java - 我如何确保我导入到 cacert 的证书(myAppCertificate.crt)已经存在于 cacert 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11261400/

相关文章:

java - 检查 Span 的可为空状态

c++ - boost .Asio : Writing a SSL Server/Client Too many file types

git - 使用 Google 帐户登录时使用 gitlab 的 https 链接

java - Spring Boot 数据 JPA 和 PostgreSQL 自动生成枚举类型

java - JAX-WS MTOM 在发送给客户端后删除附件

ruby - Mechanize 返回 `connect_nonblock' : SSL_connect returned=1 errno=0 state=SSLv3

linux - 类 Unix 平台的 FTP GUI 客户端,支持 TLS/SSL/SFTP

Tomcat SSL https 端口问题

c# - 我如何通过 fiddlercore 捕获 https 响应?

java - Lombok Builders 使用反射吗?