Selaa lähdekoodia

Updated expired testing certificates

The certificates that were used during testing expired. I replaced them with new ones that last for 10 year, and added a script that will re-generate all the certificates.

Signed-off-by: Stan Janssen <stan.janssen@elaad.nl>
Stan Janssen 3 vuotta sitten
vanhempi
commit
ea872d12cf

+ 30 - 19
certificates/dummy_ca.crt

@@ -1,21 +1,32 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----

+ 49 - 25
certificates/dummy_ca.key

@@ -1,27 +1,51 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEA0VwqWbvJCYDa7O+CvuJtJd7OlL1VAvRDG3bZxnTjJpVxYqt0
-SRs1q/DfFhygECHdQPXGhx636sLE7uyWjsszuIFUym3JNm2ibIPBMIsMmqAgsGnB
-ouBiaio5om40ra9EFrLJ0v6i5/IDd/HlfNzvsu9wXyNTJKhZHoMPnSl0Z/GU1S1h
-FTFQiPHd18TC52d5cCBdh1HlGBhc86D4UXbi6u16n/oC881TMlNr69IfEbT2h+c7
-EA87gFFnOGr1+YeZit/tMG+wwIY1/JWVj9ZeRVdy5XIl+X/BffL17SEFNN5pgDui
-Nv7wdusBsilKATn0+VMdl+iVjKc+ea859vdcnwIDAQABAoIBAC2go4448eCDV7Mp
-o9oMKPOG8ojSFpP1PibfKSkqUlMXYMW7TjWcm37kmQoNpQi/CKRerCzIkha06gyU
-PV/Tg2sjrKINeTvGew6hTFpTA6UzXsxz0AK6Wlh+6V6wHAT6XKGBx6CXZFOemAjt
-DDHBSPA7ZMcnQLiNhBa1Q5Lh9P+t7vCWCBVp6nqrAOG+367ZHI1R621nDl/JB23i
-BZOSVG+2XHeWQei7H8gOlxKslLVjBqfE3Ne1s5UgTPaxrGE8wfCsSnNXLsuKOgH/
-L7xOGVpoZdPg9127pfZZSkvcVMdR3sti11BTlHOJzpPYYOxcGuA+hwQlXN9cLezu
-1vPZyAkCgYEA6zAkbT7JUFLun5HOnJ+C9QwTTHIkghA35jkefyRFQ1jICazoyfwG
-8m89uCy/gI6B1fOB+486zb7jAFgFbJSs2GMYjSzT9pZTm9eFYeR/4UAemZAUtA1l
-O1zuEmBlNywf1dhQ7aOv9G+kgEGlkF+sQr23zZ2U02GIj2YJz40q+ysCgYEA4+Ls
-zP1RZr2F2/MyE+V6mb9vHL698W9gk5Gi3uGYN30pXPvWNbS9o90xSK9lXVyLLyey
-3QWUJnEC0u/Vzr3AjBzAdFPylOOdanJT3hOC+vodMF1TovK8KaTuSzdMpnvD5eJI
-LmptWcicTYogvQFfG+vALRrQxh3WcowhqaunWl0CgYEAkd7iOP/gTPmjF0WQKISm
-7OX4ckm5axI0GY8D40fTzdma+KVOHTk79dIZLcpTXKEG1nSaAjTr/ACROv1dH+N2
-8R9FcwqCzUafxOD/0Z+v0T27vPMoZCSKzS7uWmd/X6D2feQVDc+gqrM0DHiq/8jX
-Ru30uosqa5Dq6kYXf6vHJNECgYEAr4+uMMpjQMx3aJi2Fr/usK3bcwC7olnUxDsp
-h52yv+TrzdeyElP42VnZ0w5VABUAoUZrNH1MwkTEES91vz1OLmMkHTpjIzMrncsQ
-M4FCogm4HP95JIruTQLkFgw3P/cPV3X5d9DEB6xWRiJI0HNTC1aXCeijuE1aXYr5
-kBZO6n0CgYAVa1LTyCHOiCT2Df1TCDxvQH2GMxqiv3kCmuK9qsFpW1RaSJAmatWq
-lX/RUlhkMZOI6vwAZIXmGFpz+MqOzU7DqLfRCJxjEu0VkgIBy0XAuK1zj4fzuiR4
-N5OiG/SK53CMQ9rBaSF/GRgIyNIiQ9n8yBW7ZTAkIlypqhuJMMnXpQ==
+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
 -----END RSA PRIVATE KEY-----

+ 1 - 1
certificates/dummy_ca.srl

@@ -1 +1 @@
-6F062EA0E6092979B2E521DE20E4518F426EC241
+5032FCA390507718BC6EB5EEF9F072D1F4D5E940

+ 23 - 17
certificates/dummy_ven.crt

@@ -1,19 +1,25 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----

+ 15 - 15
certificates/dummy_ven.csr

@@ -1,17 +1,17 @@
 -----BEGIN CERTIFICATE REQUEST-----
-MIICqjCCAZICAQAwTTELMAkGA1UEBhMCTkwxDjAMBgNVBAgMBU90aGVyMRIwEAYD
-VQQKDAlPcGVuTEVBRFIxGjAYBgNVBAMMEXZlbi5vcGVubGVhZHIub3JnMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1H0kMnukWwvFrYVlBt6UD47MzU29
-uVb4VZYIuMjzQRA0zbNjxvaX2ZCBNFrnCBamzK9yd5dRjqAk4cvv0bUgkm0bfnFJ
-qz9E3AULa2OE/FCT5cnQlXwskwrU/kCdXh5yfZHaFEO+x7RNupHk9VKAfLNo6i9u
-pgMOcexEk4Wca+f3B9adbQcLec3CYBKxhaKayvU309XbWXtBVSWC7ba16VMBs4M3
-lnpe9L9xZP7N5zeNshuiUxbceZU9mhDoGyMlisXJCO8nBX6Hn3m2OSLwcesAO8SF
-XEhci4yhbpuoStRIGFHKYZixIRpv16ymm7wuFGiw52PfZKWzYTtlCg5tKQIDAQAB
-oBgwFgYJKoZIhvcNAQkHMQkMB29wZW5hZHIwDQYJKoZIhvcNAQELBQADggEBAFZe
-aXjIulzWlqFchYg2u/2Xd/R8HAzguKZV3jWA5LtFTL9P4AGYC24IpnOh8hMYzWr1
-e/RCcLsz8wCe8lK0V9+R6UHtOgrtEi9tfcznhp6Iny5xJyAoEnRSdeaXcbvXhaXr
-3GH3sc/Nio3lkSs/tzxnfcwxBJ2ZPZG0X0oxNfKo6w390jNupyG2lTdTE60DRAUy
-+P5vxpgCuAgJgAJ/VJDLqPNOSCJOy66ixHXzw+LPuRickZbjlY9BlhMtu0/75hxJ
-Ika6r76Q4JKQ1Ng9EX4bYWb6pFyBlAezJYSawsUQ9DxYC2QN2tzVvPD4hh+ymlEl
-CDHedQRa4ypuDJX4r1g=
+MIICojCCAYoCAQAwXTELMAkGA1UEBhMCTkwxDjAMBgNVBAgMBU90aGVyMRwwGgYD
+VQQKDBNPcGVuTEVBRFIgRHVtbXkgVkVOMSAwHgYDVQQDDBdkdW1teS12ZW4ub3Bl
+bmxlYWRyLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzQdvgR
+TggTIA8oBpY2WU+fxxnXJUDV315CeRiE+pg15GNFCe6aT0wyBtCCoQgUTIAlhnzQ
+Uak23bRwAxLZo0voKcGK4EHJqt70hZpO/7Lj4OGeMTxrSzAP4pG/pgPSfGyJxMAX
+kuPOUtjmg7I+Bt+LHkqUIQpxLQqlkV7p9prdbrkS3rUU9s1XPdjoAMMUL8el1knX
+RT34ioJdTdQlhxL0e4nbDViV4oOFpkyS7S0zkQ9MN/peJxdoDk/MTW0TWcIhWSIq
+SkgJwEBK6NtoqqQ6vs6op6luoJUmW3ut/rXam66KXRyu2NFLgIZpN7wuQ+BJOWSL
+K7IOVg9dwjjHLpsCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCDo861OwtXYjTe
+xwDwhW3VAKxLA2cZ63UbTKt7qySlbiTgXGiNLy1GZMZD38mispijXw7qCymvnXrS
+TiG7ni/dBAolg+ZSE4lungibKMNJ8XJKXC0911X+0eCVJdwuvYXS4QfPLYS3KmL8
+C9K/QYwhdXj702h4g8kTJ5Ycc67wLTZ7ag44KZMAvVBpvrMl2gHK0HXFeckYjCI+
+twG730nacxamBbA0Hhcd1rEnHEjcxQPrYnuILsbEDpiSOGdXPfYLOpbgJwwmp4Zu
+b+x/yl+0lrE5wwFG/2mOq/SUDns9nl4o1Ro7T7C2A0U+fAf+8Uo8nrUShIj0ikbc
+wigEGWrO
 -----END CERTIFICATE REQUEST-----

+ 25 - 25
certificates/dummy_ven.key

@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----

+ 23 - 17
certificates/dummy_vtn.crt

@@ -1,19 +1,25 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----

+ 15 - 15
certificates/dummy_vtn.csr

@@ -1,17 +1,17 @@
 -----BEGIN CERTIFICATE REQUEST-----
-MIICqjCCAZICAQAwTTELMAkGA1UEBhMCTkwxDjAMBgNVBAgMBU90aGVyMRIwEAYD
-VQQKDAlPcGVuTEVBRFIxGjAYBgNVBAMMEXZ0bi5vcGVubGVhZHIub3JnMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuyoaoRavj88i9oSQGbfbUfzQva2Y
-ZKhHfFMVV5u0nvyj/reipoloO/JCbxwMfgdf/si3rAN+UwCz1WVr2mUGOqs0E9k+
-yAFAMZwNjP5UeBS7Q0RpwCABQIzNCVY3eTVO4pERNDLAqsJM6gGlcNeInT4lew/u
-LOnJi1IQD3Qdc5GB8W+prz//Bkeuo1cfkxMKY92fKy0zMtYRouyNInO9/tL3AfTR
-WsncgSOZFy2Or/KhMehBB3dAYGY0w8RL0FirTrbaKF6WunKTcOOB/14YHAsHFeJg
-vTE+h0u3LPSkMSpoz5NT2ICf2z2fbPhi2GBq9lSomKfdL0xcTFQ6ob5wLwIDAQAB
-oBgwFgYJKoZIhvcNAQkHMQkMB29wZW5hZHIwDQYJKoZIhvcNAQELBQADggEBAHao
-Rue6iDh/lB8Js7rD5MAPjZGaGYAg/J++p67qjXdlf6AiyLQL9HD1TxwDYjhaaaLD
-M08wFhmEyjlrE+lpzV/u53MX3ez8PEW/VZIeQ6tY3oGWucRosjCVOBkPKYvphC08
-D7D7UXRrrg/LEbGmXbPUH3Lwb3gOCkAkprpxokszoBAHTzPDcb6cAAhZXYEQLPOn
-LNnYlHrQ4dydz9cWsyoBvYVqRZ38vTAcD8ql+eAWfklZ0DQqqXXgszwrkoRJ4Lce
-92d7fIc+ciPQBKYURRxKwgpjne20G4zIFUOW1xeZ1+jMjRz426COkWd+hVWUsXsU
-4/ds3Ga5A6kcYV/nRnA=
+MIICojCCAYoCAQAwXTELMAkGA1UEBhMCTkwxDjAMBgNVBAgMBU90aGVyMRwwGgYD
+VQQKDBNPcGVuTEVBRFIgRHVtbXkgVlROMSAwHgYDVQQDDBdkdW1teS12dG4ub3Bl
+bmxlYWRyLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKFyy5ud
+qOzgypjsL9ZcZg9AuQHRk2KNIQD5NSew5PHlM/s4sxwRTc0c/BhXXlwfWQYnxjjm
+3XgyBblB4wOMF8LRImsHHM4DbkiMvG42zg2ooCTdCFFNL+8ORRG5VpCajdPrarm7
+8pt7Jyqmz752mT8fdr3A6aEHmgGCCAMQDejQshSN7+RkdezjWr5QRSxfraKrcKmA
+x59Bxwh92D+KZUBYBSta4eNj0/Wea8EAQxwBVqVpU5hEqrBl2QiGuZ4pAG0QL5pg
+bnR5WH6PcwnwNgJrHW44+BvPcau/aYZWICaW6DYceZHklnu6LbLH1KQZZiH7VIPT
+h3/oC5Yo3D4Ox3UCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBp91POIKdL4i2I
+40eqqJsnRpmT7Y15N98RJ2Wkd0b0dvTjTNiPrQCrLdnoJLmfyGGaTv9V0i29eTIu
+cqEKk0Hn7CEqEGX3mtn/GtP4mDZ/OoYqyApET+XYCwDV0VwHc85/mZWIkjVgg3KS
+1JP08BClNEkMDVMhACC1N+R3HWDRBTRs6cm76Zu5HYwxIt3OlElg82zGFJ+DtYNg
+sjq4EzdwFQqUyab6ZxwMiyDz8xTO9kDLSn1PRgR/lASmUEtA1ADia+X+ziNbftDB
+AHKFuPjjAkFk50zax9k11ZIQew7nu3+QHc3lVuWOZg7Y748AEkEpzmpLC649Ibxc
+7b+0gbLA
 -----END CERTIFICATE REQUEST-----

+ 25 - 25
certificates/dummy_vtn.key

@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----

+ 25 - 0
certificates/generate_certificates.sh

@@ -0,0 +1,25 @@
+echo "Please make sure the line RANDFILE = ... is commented out in your /etc/ssl/openssl.conf."
+
+echo "Generating the CA key"
+openssl genrsa -out dummy_ca.key 4096
+
+echo "Generating the CA cert"
+openssl req -x509 -new -subj "/C=NL/ST=Other/O=OpenLEADR Dummy CA/CN=dummy-ca.openleadr.org" -nodes -key dummy_ca.key -sha256 -days 3650 -out dummy_ca.crt
+
+echo "Generating the VTN key"
+openssl genrsa -out dummy_vtn.key 2048
+
+echo "Generating the VTN Certificate Signing Request"
+openssl req -new -sha256 -key dummy_vtn.key -subj "/C=NL/ST=Other/O=OpenLEADR Dummy VTN/CN=dummy-vtn.openleadr.org" -out dummy_vtn.csr
+
+echo "Signing the VTN CSR, generating the VTN certificate"
+openssl x509 -req -in dummy_vtn.csr -CA dummy_ca.crt -CAkey dummy_ca.key -CAcreateserial -out dummy_vtn.crt -days 3650 -sha256
+
+echo "Generating the VEN key"
+openssl genrsa -out dummy_ven.key 2048
+
+echo "Generating the VEN Certificate Signing Request"
+openssl req -new -sha256 -key dummy_ven.key -subj "/C=NL/ST=Other/O=OpenLEADR Dummy VEN/CN=dummy-ven.openleadr.org" -out dummy_ven.csr
+
+echo "Signing the VTN CSR, generating the VEN certificate"
+openssl x509 -req -in dummy_ven.csr -CA dummy_ca.crt -CAkey dummy_ca.key -CAcreateserial -out dummy_ven.crt -days 3650 -sha256

+ 14 - 8
test/test_failures.py

@@ -1,5 +1,5 @@
 from openleadr import OpenADRClient, OpenADRServer
-from openleadr.utils import generate_id
+from openleadr.utils import generate_id, certificate_fingerprint
 from openleadr import messaging, errors
 import pytest
 from aiohttp import web
@@ -67,7 +67,7 @@ async def test_invalid_signature_error(start_server_with_signatures, caplog):
                            vtn_url=f'https://localhost:{SERVER_PORT}/OpenADR2/Simple/2.0b',
                            cert=VEN_CERT,
                            key=VEN_KEY,
-                           vtn_fingerprint='EE:44:C5:78:7E:4B:B8:DC:84:1F')
+                           vtn_fingerprint=VTN_FINGERPRINT)
     message = client._create_message('oadrPoll', ven_id='ven123')
     fake_sig = b64encode("HelloThere".encode('utf-8')).decode('utf-8')
     message = re.sub(r'<ds:SignatureValue>.*?</ds:SignatureValue>', f'<ds:SignatureValue>{fake_sig}</ds:SignatureValue>', message)
@@ -127,7 +127,7 @@ async def test_invalid_signature_error(start_server_with_signatures, caplog):
                            vtn_url=f'https://localhost:{SERVER_PORT}/OpenADR2/Simple/2.0b',
                            cert=VEN_CERT,
                            key=VEN_KEY,
-                           vtn_fingerprint='EE:44:C5:78:7E:4B:B8:DC:84:1F')
+                           vtn_fingerprint=VTN_FINGERPRINT)
     message = client._create_message('oadrPoll', ven_id='ven123')
     fake_sig = b64encode("HelloThere".encode('utf-8')).decode('utf-8')
     message = re.sub(r'<ds:SignatureValue>.*?</ds:SignatureValue>', f'<ds:SignatureValue>{fake_sig}</ds:SignatureValue>', message)
@@ -147,7 +147,7 @@ def test_replay_protect_message_too_old(caplog):
                            vtn_url=f'https://localhost:{SERVER_PORT}/OpenADR2/Simple/2.0b',
                            cert=VEN_CERT,
                            key=VEN_KEY,
-                           vtn_fingerprint='EE:44:C5:78:7E:4B:B8:DC:84:1F')
+                           vtn_fingerprint=VTN_FINGERPRINT)
     _temp = messaging.REPLAY_PROTECT_MAX_TIME_DELTA
     messaging.REPLAY_PROTECT_MAX_TIME_DELTA = timedelta(seconds=0)
     message = client._create_message('oadrPoll', ven_id='ven123')
@@ -162,7 +162,7 @@ def test_replay_protect_repeated_message(caplog):
                            vtn_url=f'https://localhost:{SERVER_PORT}/OpenADR2/Simple/2.0b',
                            cert=VEN_CERT,
                            key=VEN_KEY,
-                           vtn_fingerprint='EE:44:C5:78:7E:4B:B8:DC:84:1F')
+                           vtn_fingerprint=VTN_FINGERPRINT)
     message = client._create_message('oadrPoll', ven_id='ven123')
     tree = etree.fromstring(message.encode('utf-8'))
     messaging._verify_replay_protect(tree)
@@ -176,7 +176,7 @@ def test_replay_protect_missing_nonce(caplog):
                            vtn_url=f'https://localhost:{SERVER_PORT}/OpenADR2/Simple/2.0b',
                            cert=VEN_CERT,
                            key=VEN_KEY,
-                           vtn_fingerprint='EE:44:C5:78:7E:4B:B8:DC:84:1F')
+                           vtn_fingerprint=VTN_FINGERPRINT)
     message = client._create_message('oadrPoll', ven_id='ven123')
     message = re.sub('<dsp:nonce>.*?</dsp:nonce>', '', message)
     tree = etree.fromstring(message.encode('utf-8'))
@@ -190,7 +190,7 @@ def test_replay_protect_malformed_nonce(caplog):
                            vtn_url=f'https://localhost:{SERVER_PORT}/OpenADR2/Simple/2.0b',
                            cert=VEN_CERT,
                            key=VEN_KEY,
-                           vtn_fingerprint='EE:44:C5:78:7E:4B:B8:DC:84:1F')
+                           vtn_fingerprint=VTN_FINGERPRINT)
     message = client._create_message('oadrPoll', ven_id='ven123')
     message = re.sub('<dsp:timestamp>.*?</dsp:timestamp>', '', message)
     tree = etree.fromstring(message.encode('utf-8'))
@@ -229,6 +229,12 @@ VTN_CERT = os.path.join(os.path.dirname(os.path.dirname(__file__)), "certificate
 VTN_KEY = os.path.join(os.path.dirname(os.path.dirname(__file__)), "certificates", "dummy_vtn.key")
 CA_FILE = os.path.join(os.path.dirname(os.path.dirname(__file__)), "certificates", "dummy_ca.crt")
 
+with open(VEN_CERT) as file:
+    VEN_FINGERPRINT = certificate_fingerprint(file.read())
+
+with open(VTN_CERT) as file:
+    VTN_FINGERPRINT = certificate_fingerprint(file.read())
+
 async def _on_create_party_registration(payload):
     registration_id = generate_id()
     payload = {'response': {'response_code': 200,
@@ -248,7 +254,7 @@ async def _client_on_report(report):
     pass
 
 def fingerprint_lookup(ven_id):
-    return "6B:C8:4E:47:15:AA:30:EB:CE:0E"
+    return VEN_FINGERPRINT
 
 @pytest.fixture
 async def start_server():