Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将客户端证书添加到spring启动应用程序_Spring_Spring Mvc_Spring Boot_Kubernetes_Ssl Certificate - Fatal编程技术网

将客户端证书添加到spring启动应用程序

将客户端证书添加到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)。您可以遵循以下内容 基本上,使用存储证书。

我是Java开发新手。我们有一个颁发证书的外部系统,所以我必须在我的应用程序中使用这些证书才能打电话。我不想将这些证书添加到密钥存储中,但我想添加到我的spring boot应用程序中


我们正在将这个应用程序部署到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