diff --git a/libopflex/comms/README.md b/libopflex/comms/README.md new file mode 100644 index 00000000..4ad6e37b --- /dev/null +++ b/libopflex/comms/README.md @@ -0,0 +1,14 @@ +The test directory has certificate and private key files +used for communications library unit tests. These +certificates need to be renewed from time to time. When +the certs have expired, UTs will fail due to SSL not being +able to decrypt messages. + +To generate new certificates, run the shell script in this +directory: +
$ sh ./create-new-certs.sh noironetworks.com
+
+ +You can verify that the certs are valid using: +
$ openssl verify -CAfile test/ca.pem test/server.pem
+
diff --git a/libopflex/comms/create-new-certs.sh b/libopflex/comms/create-new-certs.sh new file mode 100755 index 00000000..8a87a214 --- /dev/null +++ b/libopflex/comms/create-new-certs.sh @@ -0,0 +1,81 @@ +#! /bin/bash + +if [ "$#" -ne 1 ] +then + echo "Error: No domain name argument provided" + echo "Usage: Provide a domain name as an argument" + exit 1 +fi + +DOMAIN=$1 + +# Create root CA & Private key + +openssl req -x509 \ + -sha256 -days 356 \ + -nodes \ + -newkey rsa:2048 \ + -subj "/CN=${DOMAIN}/C=US/L=San Fransisco" \ + -keyout rootCA.key -out test/ca.pem + +# Generate Private key + +openssl genrsa -out "${DOMAIN}.key" 2048 + +# Create csf conf + +cat > csr.conf < cert.conf < test/server.pem +cat "${DOMAIN}.crt" >> test/server.pem diff --git a/libopflex/comms/test/ca.pem b/libopflex/comms/test/ca.pem index 741c84bc..4ba4ac0c 100644 --- a/libopflex/comms/test/ca.pem +++ b/libopflex/comms/test/ca.pem @@ -1,31 +1,21 @@ -----BEGIN CERTIFICATE----- -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 +X928/kak3A== -----END CERTIFICATE----- diff --git a/libopflex/comms/test/server.pem b/libopflex/comms/test/server.pem index cee7b058..e26e0aa1 100644 --- a/libopflex/comms/test/server.pem +++ b/libopflex/comms/test/server.pem @@ -1,52 +1,49 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- -MIIEITCCAgkCFEbGx7F+swnPAiZjkeqbh9gVTnyfMA0GCSqGSIb3DQEBCwUAMEUx -CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl -cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjIwNDI2MDEyNTQwWhcNMjMwOTA4MDEy -NTQwWjBVMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE -CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQ4wDAYDVQQDDAVub2lybzCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKti0wpBgdmBkdHNqrI6XRq1ov4U -+Qbf9h5vc/fNg8Qyt1x2n8cxvjjRkfNQKrwi1QPGzILgyTreAnOC6zX91uHtvcZ6 -qhCJ6SWCsz0B2mSS4eg+7Woq7NPJWGtax0xG961IDxJtY6eh38NGz263isNBueuC -JCHRwff20Qt8vnA+XmPHlKETEw1C/PV7pR+y0wXzBuDUL4A6QeUTap15Mmy37dtL -LVBuPderrMPg14chYDgP3OQ06j6IX54w7azwy1xA0QJluH0YNwu/Ej4SYK9lRJic -z1nHiIayws7qpRpM2kOzwWQxmOvU+p8bUKlU2c7+jzrmlTJRas9MO0hepfcCAwEA -ATANBgkqhkiG9w0BAQsFAAOCAgEAYf3KcJd68CVaG+DwWOESCBHxmHzVM20flxaR -/gmjmIthOWXl/E7XJdmUOmxFxyVe1CSOlOxRuS7ZkT3cmWsuOVJlDxKADZl/vGA7 -76H66JQd7lDMD8nKlMDcp9qPwa3AeE9n0r07dbHQKMov/mj9bJH1BWcMe1VsukM7 -HVIr1quLpcxOGBOr3AqL4ep3Wtj8Rc/RQnzqE78pQJ1x9qyKf9ccspi0cgN6m8Qp -SaLlpwizGLfn1tlyq/v4aAf/NBKYvCXvKQ+/4RQJMaRExvKjbNtDS0lGtfbWCnlO -MVs1a+PJKV9z7/NL/bd4SJU8//362eykGMW+9miR5IcL42FnoppbrVaWEHxevIq8 -hAcaNJpfJASjI6WHkBzr2FLsdISBAV4LrAheXR9L5GiSS3IrG6p+MOo3y+BJLcE4 -KhxxUJgJHrKnVVKxFuoxrlaz/Cd/qjyeRTFJVvbHPYdn9Uc5ca2evKEPfDEbAg/n -EGr0HUJFHyo96pG5FBeClHQSJdA4tl1AVFo/rvlCHw1xCc+lY4aZKpkCDk1u3s2U -A7yUgZPw2YcqOMH3UXPApQiw61qShAJHTS5vodDPsPrH2ygz/CfnY4svw2ne0fiw -XhK5jhU/g1dcqg3pOyfZqi2G4+wbLZnR2o7R8ke5279QbZB8PM8zhWV9XZHxkaMl -sMaElas= +MIIDqTCCApGgAwIBAgIUKEAZwGic1krXySWeBBQVJgdDh5swDQYJKoZIhvcNAQEL +BQAwQTEaMBgGA1UEAwwRbm9pcm9uZXR3b3Jrcy5jb20xCzAJBgNVBAYTAlVTMRYw +FAYDVQQHDA1TYW4gRnJhbnNpc2NvMB4XDTIzMTAyOTEyMjQzN1oXDTI0MTAyODEy +MjQzN1owgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYD +VQQHDA1TYW4gRnJhbnNpc2NvMREwDwYDVQQKDAhNTG9wc0h1YjEVMBMGA1UECwwM +TWxvcHNIdWIgRGV2MRowGAYDVQQDDBFub2lyb25ldHdvcmtzLmNvbTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAL8E8KAPaTaWs6S1RoVeaPopx/wZSnyQ +Cz1iacAJem2ejNZFgx125Wr9IsQX6jKkTPN0Nc+lYoCQu1FAm1PvS6YJBefouFyD +MXIKK6sEUC/NVeGZJpB8jIsXac0J6OEBn1f4hCp9DYyNAa5oPO689N4L5zlMZxC3 +UFFHxYnBGWo46J9u/Ho6BD5HY8eddo7Nt6kEYO5chEX0z196MvJ5meRl0tjMFq+F +15ur7s1+DnHqvyYwP1ZAirNJufTesPYtniNeZglhe5N4uXG7dCXuzwp5vox8QKKs +zCkYBWsyq1LluwvP4QGS7jTanUKgFyai99Xa6awyIcKpf8mhiU20hU8CAwEAAaNZ +MFcwHwYDVR0jBBgwFoAUmgFbqWSWWBy+bYEOCzuILUxoGKwwCQYDVR0TBAIwADAL +BgNVHQ8EBAMCBPAwHAYDVR0RBBUwE4IRbm9pcm9uZXR3b3Jrcy5jb20wDQYJKoZI +hvcNAQELBQADggEBAHb/0MyEGg61p6amomuwe9h5xTCWgVmGGuiRWMNpwWcjQdGT +gMs9YfsiQLm/Jf2BIzubobQHerMuPcN6083KkA/VggOEyy5awFVDnBug5nqx5xiC +q1WMRje+RCCZvjAadtnActS5UL8/YBj6E552rdjAhtXp9VOpntWlj+lRN7Eum8MO +Jbp8aE/BZxAt+QRF1x80Xtgxuu3tPWoNqFMherZlxf+t2eQn/nlevgHhLjSFQUVW +vfFZYtZabqHVJtuIt3HF9ut+KjWrBbUE9hf3atlp3GLSSUaZSMeOnzEIqs2rgo5V +lffWiv4B2Vpm2d9rHew9B+wKVGNZRMXv3yX6ub0= -----END CERTIFICATE-----