And*_*rei 9 java amazon-s3 ssl-certificate truststore
我是一个证书菜鸟,无法找到有关设置是否javax.net.ssl.trustStore添加或覆盖默认 JDK cacerts 的详细信息?
我的应用程序正在使用:
-Djavax.net.ssl.trustStore=my-truststore.jks
Run Code Online (Sandbox Code Playgroud)
并为 AWS S3 设置客户端(默认,没有明确告诉它使用任何特定证书):
<bean name="s3Client" class="com.amazonaws.services.s3.AmazonS3ClientBuilder"
factory-method="defaultClient">
</bean>
Run Code Online (Sandbox Code Playgroud)
如果javax.net.ssl.trustStore添加到默认的 JDK cacerts,那么我应该没问题,因为我相信它已经包含了我需要的证书,但 my-truststore 没有。(AWS CA已添加到jdk:https://bugs.openjdk.java.net/browse/JDK-8233223)
joh*_*ohn 11
如果自定义信任库由javax.net.ssl.trustStore- 指定了自定义信任存储,则将不会使用默认信任存储(默认 JDK cacerts)。
不确定术语“覆盖”是否 100% 正确。默认的 JDK 证书仍然存在,您无需更新它或其他内容。但使用的是您定制的。
我想说的是,不建议您修改默认的信任存储,因为它是随您的 JVM 一起提供的,并且会随之更新。
相反,您可以制作一份副本并将证书添加到副本中,然后将此副本设置为自定义副本(使用javax.net.ssl.trustStore)。
例如:
复制默认的(直接复制文件即可)
使用keytool将一些特定的证书添加到副本中
keytool -import -file /path/to/certificate.pem -alias NameYouWantToGiveOfYourCertificate -keystore /path/to/copy/of/default/truststore.jks -storepass changeit
Run Code Online (Sandbox Code Playgroud)
这只是一个例子。您可能想使用其他工具,但希望这个想法很清楚:)
| 归档时间: |
|
| 查看次数: |
13063 次 |
| 最近记录: |