首页 > 解决方案 > 是否可以通过 maven 向 Java 密钥库添加证书?

问题描述

多亏了这个堆栈溢出帖子,我发现我能够将证书添加到 java 密钥库以解决 ssl 握手错误。虽然这种方法有效,但我的应用程序的每个用户也需要运行命令,这似乎是可以避免的。我不控制证书,所以我不能使用会被自动广泛识别的证书。

echo | openssl s_client -connect <host>:<port> | gsed -n '/BEGIN/,/END/p' > tmp.crt
sudo keytool -importcert -file tmp.crt -alias <alias_name> -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
rm tmp.crt

我想知道是否有通过 maven(或可能是另一种方法)的解决方案允许我自动获取证书,以便其他用户不必运行这些命令。我可以提供一个 bash 脚本来“简化”该过程,但我不想弄乱可移植性的怪癖。即便如此,他们仍然必须手动运行脚本,我不喜欢这样。

我的项目使用 spring boot 2.0,以防它有助于了解这一点。我是 Spring Boot 新手,知道它有很多功能,但我认为它不支持自动添加特定证书。

我知道可以运行 maven,以便接受所有证书,这我也不想要。也许有一个我可以使用的插件?

我更喜欢可以放入 pom.xml 文件的解决方案,而不是命令行参数,这样我就可以将更改提交到 github 存储库中。

标签: javamavenspring-bootsslkeystore

解决方案


推荐阅读