diff --git a/roles/network_plugin/calico/files/openssl.conf b/roles/network_plugin/calico/files/openssl.conf index b1cf7bf8f8bf9c9f37ae4bdb00e8927ca289f32f..f4ba47da7315415db89cae834543bde5d4a5b08e 100644 --- a/roles/network_plugin/calico/files/openssl.conf +++ b/roles/network_plugin/calico/files/openssl.conf @@ -18,3 +18,10 @@ basicConstraints = CA:TRUE keyUsage = cRLSign, digitalSignature, keyCertSign subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer + +[ ssl_client_apiserver ] +extendedKeyUsage = clientAuth, serverAuth +basicConstraints = CA:FALSE +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer +subjectAltName = DNS:calico-api.calico-apiserver.svc diff --git a/roles/network_plugin/calico/templates/make-ssl-calico.sh.j2 b/roles/network_plugin/calico/templates/make-ssl-calico.sh.j2 index 93ff9f7b617e02d15d42e32816ab3297375a54b9..94b2022e76034c81c4b697aa339ac9b666e87b6f 100644 --- a/roles/network_plugin/calico/templates/make-ssl-calico.sh.j2 +++ b/roles/network_plugin/calico/templates/make-ssl-calico.sh.j2 @@ -87,7 +87,7 @@ elif [ $SERVICE == "apiserver" ]; then # calico-apiserver openssl genrsa -out apiserver.key {{certificates_key_size}} > /dev/null 2>&1 openssl req -new -key apiserver.key -out apiserver.csr -subj "/CN=calico-apiserver" -config ${CONFIG} > /dev/null 2>&1 - openssl x509 -req -in apiserver.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out apiserver.crt -days {{certificates_duration}} -extensions ssl_client -extfile ${CONFIG} > /dev/null 2>&1 + openssl x509 -req -in apiserver.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out apiserver.crt -days {{certificates_duration}} -extensions ssl_client_apiserver -extfile ${CONFIG} > /dev/null 2>&1 else echo "ERROR: the openssl configuration file is missing. option -s" exit 1