Update SSL certificates with SubjectAltNames

A recent update to urllib tightened some checks around SSL [1].
This prompted an update to Devstack in order to work properly [2].

Jobs running into this problem without having a SubjectAltName
provided will see an error that looks like:

    SSLError: hostname '127.0.0.1' doesn't match either of
    '127.0.0.1', 'localhost'

Let's also update the certificates to provide the SubjectAltName
and provide a way to easily update the certificates if required
in the future.

[1]: df9d503a8e/CHANGES.rst (118-2016-09-26)
[2]: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=69e3c0aac99981f17c76c22111e5c397824b8428

Change-Id: I94a586b333ba6a99ef831c853a19ab127b502d6f
This commit is contained in:
David Moreau-Simard 2016-09-28 17:15:16 -04:00
parent 421a36ba0b
commit 61ba93a2b0
8 changed files with 199 additions and 92 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
contrib/*.crt
contrib/*.key

View File

@ -79,6 +79,17 @@ Developer documentation for the entire Puppet OpenStack project:
* http://docs.openstack.org/developer/puppet-openstack-guide/ * http://docs.openstack.org/developer/puppet-openstack-guide/
Note: SSL Certificates
----------------------
puppet-openstack-integration ships it's own SSL keys and certificates in order
to be able to test implementations secured over SSL/TLS.
It doesn't re-generate new ones every time for the sake of simplicity: we're
not testing that we can generate certificates properly, we're testing services.
The configuration as well as the commands used to generate these keys and
certificates are stored in the contrib directory.
All-In-One All-In-One
---------- ----------

42
contrib/ssl-ipv4.conf Normal file
View File

@ -0,0 +1,42 @@
# Generate key and create a self-signed certificate:
# $ openssl req \
# -x509 \
# -config ssl-ipv4.conf \
# -newkey rsa:2048 \
# -keyform PEM \
# -out ipv4.crt \
# -outform PEM \
# -nodes
#
[ req ]
default_bits = 2048
default_keyfile = ipv4.key
default_md = sha256
default_days = 3650
prompt = no
distinguished_name = distinguished_name
req_extensions = v3_req
x509_extensions = v3_ca
[ v3_req ]
subjectAltName = @alt_names
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
subjectAltName = @alt_names
issuerAltName = @alt_names
[alt_names]
IP.0 = 127.0.0.1
DNS.0 = 127.0.0.1
DNS.1 = localhost
[ distinguished_name ]
commonName = 127.0.0.1
countryName = US
stateOrProvinceName = North Carolina
localityName = Raleigh
organizationName = Red Hat Inc.
organizationalUnitName = OpenStack

42
contrib/ssl-ipv6.conf Normal file
View File

@ -0,0 +1,42 @@
# Generate key and create a self-signed certificate:
# $ openssl req \
# -x509 \
# -config ssl-ipv6.conf \
# -newkey rsa:2048 \
# -keyform PEM \
# -out ipv6.crt \
# -outform PEM \
# -nodes
#
[ req ]
default_bits = 2048
default_keyfile = ipv6.key
default_md = sha256
default_days = 3650
prompt = no
distinguished_name = distinguished_name
req_extensions = v3_req
x509_extensions = v3_ca
[ v3_req ]
subjectAltName = @alt_names
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
subjectAltName = @alt_names
issuerAltName = @alt_names
[alt_names]
IP.0 = ::1
DNS.0 = ::1
DNS.1 = localhost
[ distinguished_name ]
commonName = ::1
countryName = US
stateOrProvinceName = North Carolina
localityName = Raleigh
organizationName = Red Hat Inc.
organizationalUnitName = OpenStack

View File

@ -1,22 +1,27 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
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
N4BtIaU0sii9Uq/eLf8CHP9uLzS/dbvL BgkqhkiG9w0BAQsFAAOCAQEAHEcoaOZltvvDPaR0W8SwTQ3rm7jW7vT09aiK9BDY
8rcNp0D5aOYkrkQDLmSziT6EX8Y4MJDAnF+5fCSqiITDF76DYeQ35tC5UV2vzCoJ
A7KQFpmeGkYTsa5cfd806qNmQ9sB7Nn8QCGCEJaWFqgD1Ru16DzFa+TF9DVJ+61D
aWCjiL3mz4SKbcZqzZJ6e4lUprblHMxlaEHmGJfNGxk67wLbfGwD+3Ti9bZJDyhR
o/lVHVkqgVPrQds8Tb24i0Y9R75ooRXAkvmyngR39tPfAbr8Fbt5/onUTWqDfA8m
mGCcL2+l4tb0yhXlhhRFBe8NYOeoHk4tjeClyy8q27jdvQ==
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
agLlFX9eVql6GPL9xF/oL7be 7129KbQHjN9eWDUkFpdogB8=
-----END PRIVATE KEY----- -----END PRIVATE KEY-----

View File

@ -1,22 +1,27 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIDkjCCAnqgAwIBAgIJANyjZ5PlxnnKMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV MIIEmDCCA4CgAwIBAgIJANLSy2RWSlF7MA0GCSqGSIb3DQEBCwUAMHExDDAKBgNV
BAYTAkNBMQswCQYDVQQIDAJRQzEUMBIGA1UEBwwLUXVlYmVjLUNpdHkxEjAQBgNV BAMMAzo6MTELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAw
BAoMCU9wZW5TdGFjazEMMAoGA1UEAwwDOjoxMB4XDTE2MDQxMzAyNTg1NFoXDTQz DgYDVQQHDAdSYWxlaWdoMRUwEwYDVQQKDAxSZWQgSGF0IEluYy4xEjAQBgNVBAsM
MDgzMDAyNTg1NFowUjELMAkGA1UEBhMCQ0ExCzAJBgNVBAgMAlFDMRQwEgYDVQQH CU9wZW5TdGFjazAeFw0xNjA5MjkwNDE0NThaFw0xNjEwMjkwNDE0NThaMHExDDAK
DAtRdWViZWMtQ2l0eTESMBAGA1UECgwJT3BlblN0YWNrMQwwCgYDVQQDDAM6OjEw BgNVBAMMAzo6MTELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5h
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9O1fhy/tPFchUeASvSlxx MRAwDgYDVQQHDAdSYWxlaWdoMRUwEwYDVQQKDAxSZWQgSGF0IEluYy4xEjAQBgNV
sWObuhfqJfw+bMTwTWFYO7UJVQtMnSlU7w7RPIFL+nfpfszdei4a914Z583FJDaG BAsMCU9wZW5TdGFjazCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6b
RrGxpRwJFtk6HcpRXlf59r9qc5tbLrbqjZdeUkctILdcvtvCpcakE3xUrLgjsgUB OWjrO7hdOC/DVg6osWg5ZCk7dEUaMq30nOvI0p1nDniXr2+h5FLlQ8tGYTETTv/f
NuuXVP2WFKK7Oj6w1zVuAHgpU5e2K6colOTzYqvEr2u0AITuJFK3I7SPWIYMOjtW 2s+AfeIbPgwQuLS8M4d6PI+brxI7CmIUV3Qk26LxRwt+uiMBLx3lLh6tLVErWndO
SibYZULN4gbXv1FP2QnCbsWYayMKruPCjgcg2fXe5fjsBDuxeTnDbRhsLIO8Sb8x Su0FXTLR+caOjtlho2gdU95i3jI/onL2KssE/VXcvMGwjt7BBJeUEKGv2oGEoPVk
Uz7MY6IvNQOygYeT8YS29ZRK86J995h9+b/Pg//QR4cIewj/NHbg7WI2v2bBlMHl 7tTaZP1Larg4WMrw6v/NvacLZNrZ9zeOmP04hE3WVHWJ1HHp7T91QcQP1N77Y+sb
AgMBAAGjazBpMB0GA1UdDgQWBBRoiJojhpUae5TIvlq7YUY4LnJhvzAfBgNVHSME XKZPUcsHo9jX9lzEpnbOLLGCBhSoIYWf6P5fhIhTq2gwfyuejrFZFPUXfl8azcLv
GDAWgBRoiJojhpUae5TIvlq7YUY4LnJhvzAMBgNVHRMEBTADAQH/MBkGA1UdEQQS Tg2J2zGIdCouVLvfk2UCAwEAAaOCATEwggEtMAwGA1UdEwQFMAMBAf8wHQYDVR0O
MBCCAzo6MYIJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQC3LjXWOahzVUGi BBYEFNjD8JEzK+leJdXe3f/Vv4zpRf1rMIGjBgNVHSMEgZswgZiAFNjD8JEzK+le
chRaFRjdmEEqQT7sLWfFhpnTBIJZoMq7Ew2jCnA7Kt02ARYA2k3Vsw8ncI8RMySJ JdXe3f/Vv4zpRf1roXWkczBxMQwwCgYDVQQDDAM6OjExCzAJBgNVBAYTAlVTMRcw
EEYs/Pnek4vUyrXjdyANoqcGGdH2sGD9oO8a+/O+1SOe04uhLjQjB9bB/U6eKozi FQYDVQQIDA5Ob3J0aCBDYXJvbGluYTEQMA4GA1UEBwwHUmFsZWlnaDEVMBMGA1UE
iJUdWcrSCcKizlZebNN7IgZW+FYoCqhQC/qmi4hMf+mIPkdkYI0j5T+u5R8n3ZJv CgwMUmVkIEhhdCBJbmMuMRIwEAYDVQQLDAlPcGVuU3RhY2uCCQDS0stkVkpRezAr
UC/R0vNTwYTeYwD9TT9RPIIdXtQYNnDB1T4yDdCt040RwxVlBTrMu3IuEc5rKL6g BgNVHREEJDAihxAAAAAAAAAAAAAAAAAAAAABggM6OjGCCWxvY2FsaG9zdDArBgNV
LBmBzO4pEqoYHcExrorXdUHDFPWZKZJYmSsG+ZfwrGSD+MpgtG/kEPwWZ6Ksr5hH HRIEJDAihxAAAAAAAAAAAAAAAAAAAAABggM6OjGCCWxvY2FsaG9zdDANBgkqhkiG
CkwADBRp 9w0BAQsFAAOCAQEAhTPcvDonf4ZYCQQlQoXU/cE78pj1+u3W2+jLQIPtXqYdbPIA
iR6+ph4t/BcrfS4OG1QwUs/p941RIu3REgbxdY8dz9/wUmdF1DyvkoMqJ6Hx2ZVG
HNy7iEl6hO+YgbjkUIUJYojmf0FsWR+M6SvkqMLuYGmA4FyRt5LEMO38dx85Qxrb
jxV5HiPJXblNH4Gt3+rw89FSOLFkgBiNvmU2KfCm4Pj4RergXkrWTISSJSoq+mtf
2EhFSKrII4AqIxzi3ShNdcv6RnBO7cShrxtftsDnySce2LNwxDbOXuIXGyusmCut
SWeJ80og64esPZJyNi/hD1qCLZrweV03c1/oKg==
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
4QBg1KuwvLC4uxP2Ilmb9Ilz7g== xnyxx2iSMrdbt2DfDY1c1A==
-----END PRIVATE KEY----- -----END PRIVATE KEY-----