【发布时间】:2017-06-26 13:39:24
【问题描述】:
使用keytool 命令或其他一些非编程方式我想检查Java 的密钥库中是否存在给定的证书。我知道编程方式,但我想通过keytool 命令或其他一些非编程方式来实现相同的目的。我知道如何查看密钥库中存在的证书、检查它们的别名等,但所有这些都无助于确保给定的证书存在于密钥库中。有什么办法吗?
我已经阅读了this question 并且这些不是重复的,因为那是为了检查“密钥库文件中的证书名称和别名”,我不想检查,我想确保给定的证书存在于密钥库中这样当我与将返回给定证书的服务器通信时,我的通信就会成功;给定的证书可以具有相同的别名,但如果不是相同的证书,则其指纹会有所不同。
【问题讨论】:
-
@acm 不,不是,这个问题是检查“密钥库文件中的证书名称和别名”,我想确保密钥库中存在给定的证书,给定的证书可以具有相同的别名但是如果不是同一个证书,它的指纹会有所不同。
-
您想知道证书是否存在于特定别名下,还是您想知道证书是否存在于密钥库的任何别名下?
-
@VGR 我有一个密钥库,它有我与之进行 SSL 通信的服务器的证书,现在我有了另一个我想通过 HTTPS 通信的服务器,该服务器为我提供了他们的 SSL 证书,现在我想检查他们的根 CA 的证书是否存在于我的密钥库中? (当然他们的 SSL 证书不会出现在我的信任库中,我也不想添加主服务器证书,我总是添加根证书或中间 CA 证书),以便我知道我与他们的 SSL 通信是否会成功。如果我不清楚,请告诉我,您也需要了解更多信息。
-
@VGR 你能抽出时间告诉我上述后续问题的答案吗?
-
我相信链接的重复问题仍然可以回答您的问题。请注意,其中一个答案建议使用 keytool 的
-v选项,它可以让您检查每个现有证书的指纹。