将客户端证书添加到spring启动应用程序
我是Java开发新手。我们有一个颁发证书的外部系统,所以我必须在我的应用程序中使用这些证书才能打电话。我不想将这些证书添加到密钥存储中,但我想添加到我的spring boot应用程序中将客户端证书添加到spring启动应用程序,spring,spring-mvc,spring-boot,kubernetes,ssl-certificate,Spring,Spring Mvc,Spring Boot,Kubernetes,Ssl Certificate,我是Java开发新手。我们有一个颁发证书的外部系统,所以我必须在我的应用程序中使用这些证书才能打电话。我不想将这些证书添加到密钥存储中,但我想添加到我的spring boot应用程序中 我们正在将这个应用程序部署到Kubernetes集群中,或者我们是否可以在Kubernetes集群中添加这些证书,以便JVM选择它们。我们的技术堆栈是Java 8、spring boot、spring integration、docker、kubernetes(GKE)。您可以遵循以下内容 基本上,使用存储证书。
我们正在将这个应用程序部署到Kubernetes集群中,或者我们是否可以在Kubernetes集群中添加这些证书,以便JVM选择它们。我们的技术堆栈是Java 8、spring boot、spring integration、docker、kubernetes(GKE)。您可以遵循以下内容 基本上,使用存储证书。Java理解密钥存储库,所以您必须将其转换为密钥存储库,但其本身可以存储在Kubernetes机密中。例如,您可以使用以下方法创建密钥库:
openssl pkcs12 -export -inkey $keyfile -in $crtfile -out $keystore.pkcs12 -password pass:$password
keytool -importkeystore -noprompt -srckeystore $keystore.pkcs12 -srcstoretype pkcs12 -destkeystore $keystore.jks -storepass $password -srcstorepass $password
类似这样的方法可以从CA捆绑包创建信任库:
csplit -z -f crt- service-ca.crt '/-----BEGIN CERTIFICATE-----/' '{*}'
for file in crt-*; do keytool -import -noprompt -keystore truststore.jks -file $file -storepass changeit -alias service-$file; done