# Code generated by selfsigned.py.gen. DO NOT EDIT. from base64 import b64encode from typing import Dict, List, NamedTuple, Optional class Cert(NamedTuple): names: List[str] pubcert: str privkey: str @property def k8s_crt(self) -> str: return b64encode((self.pubcert + "\n").encode("utf-8")).decode("utf-8") @property def k8s_key(self) -> str: return b64encode((self.privkey + "\n").encode("utf-8")).decode("utf-8") def strip(s: str) -> str: return "\n".join(l.strip() for l in s.split("\n") if l.strip()) _TLSCerts: List[Cert] = [ Cert( names=["master.datawire.io"], # Note: This cert is also used to sign several other certs in # this file (as the issuer). pubcert=strip( """ -----BEGIN CERTIFICATE----- MIID8jCCAtqgAwIBAgIQe0mvOEH/BbzfL0BHs01DUjANBgkqhkiG9w0BAQsFADB4 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx MTEwMTMxMjAwWjB4MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp bmVlcmluZzEbMBkGA1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz/tQZpfaSwQNPK5J3qHTwaIxqu3tKKW7EggM zcO36Azg/CsPMNthTj/XJ86qwSiW8sMvgfBqpgMVOld/wuG5jq/CB+c99G8CR0FD /M8XiCU9lJkGKUuYFLaMW8fi13EocmjoQ21J/qLKdX68b7pbdcwQK1qx1OblXbH2 78HAfeQKrsVYc9wELBQ86quhbyDvJpoLEPsRD9J2lZ3EHwSujE1vJFjn9oU8C70H 3RKiFQYn3BchCZBZ3qTWZ7z0/X3xu/x++led5SEE1T5AoCfEFNuebo6gvQ2um4K3 rNqfpQS7vbobFvScEp8hBBGU9FfjlTz6JmjO5nb3mY67gS+XxQIDAQABo3YwdDAO BgNVHQ8BAf8EBAMCAaYwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUdT5TYsy4k6cLeTXvwdhDB09awaMwHQYDVR0RBBYwFIIS bWFzdGVyLmRhdGF3aXJlLmlvMA0GCSqGSIb3DQEBCwUAA4IBAQANgGWduNXnRtUd joBVDI7GT39pIAdVeypv6tumd3VU4CbPG66cTcLv/FsVK9Jdmx4+DpfwzcObyQZD LRUEpflFZ5aFxA1GyEu/1Qn0CwQpW9gIkcDFX7xzucgvIG7AgZFWPTp/zhQSyz4B bgJfq+pYs/M4ySRvo/R8ZhVkVMXUVhlGMtSbISon+OAXbtCMP0xjExwas1+twjOY u3mQI+pf/odMT4muKclKdPki3QAgtQLFRHD3eg6u5xV2IejLmG3MP2rWtiNic1NS NE+AB1oTWGebAsLlSYk7hKUbgd2d8peydT/QAOkU03imB4oURhK0WZTN43tJGObB IGjjcQQN -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDP+1Bml9pLBA08 rkneodPBojGq7e0opbsSCAzNw7foDOD8Kw8w22FOP9cnzqrBKJbywy+B8GqmAxU6 V3/C4bmOr8IH5z30bwJHQUP8zxeIJT2UmQYpS5gUtoxbx+LXcShyaOhDbUn+osp1 frxvult1zBArWrHU5uVdsfbvwcB95AquxVhz3AQsFDzqq6FvIO8mmgsQ+xEP0naV ncQfBK6MTW8kWOf2hTwLvQfdEqIVBifcFyEJkFnepNZnvPT9ffG7/H76V53lIQTV PkCgJ8QU255ujqC9Da6bgres2p+lBLu9uhsW9JwSnyEEEZT0V+OVPPomaM7mdveZ jruBL5fFAgMBAAECggEAacnkCHse/t8tuHrSehqIMkrExrPE2NMLx00u7g6qYa8D VWC1ll1QLlQMpWPauOtjdFHRvV9Db/PLfWR6SO81yh0eLZTyj31ThFjvMw1HY+nF W+tGFgUscwSzeg+/E2SsdR1lXr6dT5cQMhln0dDRqqZEZzj3kVpsum7GMwezWJSV tfiM0bgNa4ZRKVK5+ZYksd2xo18V/n7XBmEup15d3PRt4Q4IOef0Ckppw5kp4so6 ngBjYKnRgfjEzd1c4tjLNcPK8QUbGxo0WcenAokgJjyXliUJ2mR0CPaAeCA9qimL T1EwHiAaX2CXCqrAILII2U53cnYxUkSkuf+8cOYPNQKBgQDZ1h4RT54NxYfJZnet ps5e9/OUgzXUOvsPTbZv0ZHW1+xP+6ihvklT3bz63i0Z4tUgkVKrrtwmMbONJozS joILN4ytI1jwTd4wDrR+AiQiSzEtIQAINhuBxDX/6+D9jmwuYTDXkRZLTqqQoN99 ayCr5+/9BaB8OnuUhQOB5uC1ZwKBgQD0azeGlqdpBagtU9ZrgVyo5Sk4VUIe6DvV XdHVdD7xJQt27PEcc2GLj8gBJ1SRX6GEMQpovH6gpqKr8MYDBbTi+QVh6S4HljDz FFUmFwFoRbd0Bggt9Cu7CJlDz1Cw3lFteg2EzhATWQ4sHN4KRRasvg4kBKej4VUh jYZkIqIB8wKBgQCZihsdVoHv8Qe5hDjctBMHyzrrteQOGBh3e+4YOJ3T0dOluJru jkH/E+6s4Ebn1QMl9mhPzGstnKCS39YoXvv4TgogyyZYEnqGYwcDPh0b8uXRik4M e569w3/QSAEIlwdXVXfoqUIOiH8ee9WrAARCRrPYIswwY8RRNcP4HrTKBwKBgCTq FIbFNh+MdSvzX4z5Cq+PfLw/VC8qz+6XrttYJTFycNrTSk8Ltg3H92MFN6aFFPXM GlBbN5y3zhW91YobUIh/J6rz9rm6m0X7KikIjHPdI6noR0/5cqla0RsGsp8j1JR+ PJB0NsVVS+ipq3dNm/EW+zfBZDhCDgN1RnjVKja1AoGBALME4P5xYyjJkwbEx9oX Q3yQJ7nheDNvPeh4Qw0rXY+D5aaLBcAhIGI+QQHxXlNOVErbNIHRumIJrP3s7njG RsRmvr4G3Zo5V0ICopiPBG9RngXA0m1DRCL7rjTfWf0kNokFVThzxJDet6ETTpmK Xx1qt8HKucxM4rjPLijzN/5m -----END PRIVATE KEY----- """ ), ), Cert( names=["presto.example.com"], # Note: # 1. This cert is signed by the "master.datawire.io" cert # (rather than being self-signed). # 2. This cert is a client cert (rather than being a server # cert). pubcert=strip( """ -----BEGIN CERTIFICATE----- MIID8TCCAtmgAwIBAgIQQyITVq+2w3g9wn2r07voqDANBgkqhkiG9w0BAQsFADB4 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx MTEwMTMxMjAwWjB4MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp bmVlcmluZzEbMBkGA1UEAxMScHJlc3RvLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7Epr7IgJ5uW7V+qGZ/UhUVBcRnqQrLolaMOi 1uWD76cCqU14eUfweYtXCsZv259M5sfYEpp6Oi17tWaGvpGMfyIVXLS48eCfpr1l DYPE9aPlK02M9P5EINopOzHkOhiqzIlPkjLUlHwmBa2oj6QRXZN54JTc5hr2TZg8 JXdJRprqkQ9gypY8sPGkXOFzQDiFmuqCNDtByCqutWO+pxqZ/HguUWEU30ja0ubv C2TIc3dPvLZddR6Qig/NL+hb3eH489F5CDtZV3w6sduLN22JxqKJssuR4U5gqZm1 K4DOsF928uGDT8HKFzHYrMLdpprWKLwzOeH4DLbC9vZQqAsPrQIDAQABo3UwczAO BgNVHQ8BAf8EBAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw ADAfBgNVHSMEGDAWgBR1PlNizLiTpwt5Ne/B2EMHT1rBozAdBgNVHREEFjAUghJw cmVzdG8uZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAAJ3gQSUQKhxSCjr kONLPM1kRs0+lu1XRj1iTh/d3lZ5vmCUU9E+D0EoJeL6sUdWhki7+3J011w1VhLT r2v+v5PSnhoC9KK+K4MeNcnFJZ8CWoTfshav34Vy9M68dUqaorWX/hPnhP3uOqCh KUaHHF98p/2pqyRcNZ3VXvCXKzqstuypm6Z9jN5GrWbh4ENj3w6EM5sQiIxasaXh I0hABLKqueotSaZkxUgI0qUeaazgKuvkowI9cptnWRQ73GwIGLTbViFn5WR/j9d8 BPS47F5o/g1A0FsNevtv5UN2tpPu4cMfqIUYphQ1I30yomVFMrJ1OKnUWeXdGDk8 ZVclwtA= -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDsSmvsiAnm5btX 6oZn9SFRUFxGepCsuiVow6LW5YPvpwKpTXh5R/B5i1cKxm/bn0zmx9gSmno6LXu1 Zoa+kYx/IhVctLjx4J+mvWUNg8T1o+UrTYz0/kQg2ik7MeQ6GKrMiU+SMtSUfCYF raiPpBFdk3nglNzmGvZNmDwld0lGmuqRD2DKljyw8aRc4XNAOIWa6oI0O0HIKq61 Y76nGpn8eC5RYRTfSNrS5u8LZMhzd0+8tl11HpCKD80v6Fvd4fjz0XkIO1lXfDqx 24s3bYnGoomyy5HhTmCpmbUrgM6wX3by4YNPwcoXMdiswt2mmtYovDM54fgMtsL2 9lCoCw+tAgMBAAECggEBANkbKD6UYES/IHuPCR/Lo2lLJP287+FEx8qStrQs/iTc lx1oCSGmb9W9qaRE39IzdD03sdimB1gdImVyZqwCn8zQTEB57NSRRx+1NXxNblMk 3BQFlVYlqgNlcCzrkn+u2oBESdBS0+/6ghUFkrMoVKxeLMWlAbKLY3O4RMtH5xPu zzvFgDQ10Bfh5I9emSMaxNwafWEWBQwWgNtk6T9U+n5x9suF2g/tuA58iXkACS/p 4bGkzs8fxZF03qptBZSLTxlXD0I5YTmpFT/J1EJJH6zjW2phLwXt+eimdgOXQ35y tIiQ0CL8lj/2AaRYSDOLlHPkkG3NEBvyB+CDqhUwvgECgYEA+qXEye4GFTrwlUSO k3ix9+mV8tYYPoYzSCuVI6MZEVdNDNGpDHTqgZnF5s3re1MHqakYoeoaJd/02pmt hkc258CDEcAU2Aub3g/F8IxPKAGZLs+FptPILBp9T9FYz02G1338LyqwLcSl2drS BCqlALg26bg3LJsRIROHXni4W3ECgYEA8VYq387DWzOJ1PcMMoVKLy5kIXacM5QF BJQwmu35dyYnIRn4+E3ELV2ATAAT5873jKfO16dAmJLu+JNkKFSUzv7V1RBEjlf5 d24V7VTYG2jaqCLam5tuMb3xPeQMSFlmGHQXQPJN8NH3s3nYLB1KuZY8AmEyioNK IHdU6qoxQf0CgYBYK6QUHKULJtamy50UB2sjeIoFCIcyx2aWxq4KAT+6N+mkzsQW 27H6sStKy7lAgq65YgCGRKG6HRQ3KcQ+7iJEWBZDUjyC22KTNR0+Rz05J4bJTrsH Ooy55v+Z6lzBX9ZFS85AkVW0Y+6ruiwSxyWQIT0/7kuKZ2oZJpOCChlgIQKBgQDH z0OoERQFSmJvhCsBGQIWlh4o5n7k5URSSi8D1suYLmpvKYXMbvZhaOx0AAx6/AxQ 1A6Y1czRhbV88OsXyQ97YdnAkbtw7r2IeAiHepuB9goy8shz1PgjDtPRHiJdNEcn L9ag2vxUykJ+wf6MZ6Qai5wbjEXAEHsq7iHMOCSYMQKBgQC89QVKBumh8GJswKAb Z4j/L4vW0oMXWAdsUCnaxvyE+SZPkR81gMs3uhc6nyngqwJE7/oNa3BAIl/QGmHp aHYH6/hm+8/pmeB6ArH4pQ1qKCB5cuo94kGAHnzaUbemxI8osWVACqgCrk2aUjyS 4ger59k0VB/zi8iZ+91nfDFqgg== -----END PRIVATE KEY----- """ ), ), Cert( names=["ratelimit.datawire.io"], pubcert=strip( """ -----BEGIN CERTIFICATE----- MIID2TCCAsGgAwIBAgIQQpF1nlgplwb7vHTwMs4uQTANBgkqhkiG9w0BAQsFADB7 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEeMBwG A1UEAxMVcmF0ZWxpbWl0LmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIw OTkxMTEwMTMxMjAwWjB7MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNV BAcTBkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtF bmdpbmVlcmluZzEeMBwGA1UEAxMVcmF0ZWxpbWl0LmRhdGF3aXJlLmlvMIIBIjAN BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8eSIuGhS+RYY8StWy9xZdEoVcmw LF4rk/KBhl6hdaUX6uejvoYjHxEBuo2gHmP8aFZGDpWK77/cZMzdB0LgcEubjTIL xw25lO5nKbJCNF265poybeuGzf0Jzxayt9QRQydqdIH6eSxsZgXPMbnvlm53vjvQ pQMEUFrjbImnu60AfrBTz6XUpWVsZ1WLCHXjRcXu68Vi1zPGd0O3vxRwecEV9Jss 4Y16opU1ZyN1qDcjytfx0AvHUzqcNBpLqd8qsFAAcO0JNCMJEkZ25Lhb9ndCc3M3 tTJlW4WRxKAjyxRB1OTJ6M5QGS6LE/+rJlv42sgzroTUvd1hvuGYSDfh9wIDAQAB o1cwVTAOBgNVHQ8BAf8EBAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0T AQH/BAIwADAgBgNVHREEGTAXghVyYXRlbGltaXQuZGF0YXdpcmUuaW8wDQYJKoZI hvcNAQELBQADggEBAADJDcx+Lmrp6vgrdLUXYYjpi8bdj5IZNKvHt8JCSZIwvS5h YbZ/RDAIxT/xCHN0pPXVtkPWXcxl4XAwQAQLjdMRsxJ8qJ0TKrN/tL6WzMDwEhTB JMyGQIp1HR0ptnI3mffuEp5B6j+Bmb0lIoGFLjq5gwQPF9FnR5ickODOagMRrh5b ykzOYp4XijYygEmad+IW6Mt1a6ZcsuWSdVKGMnWi7ZmWrrfdiFSKZGp76JYAygLR OrfKfDMreRV3+F+BMJ3Z8YG6OwXcwHgKTQovIrfW9Rs/lKq5bsAF/liesa8hd/2K NQFpksYLHrpdMyiZykhh6dyrdpnZ5GURY6nrxr8= -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCbx5Ii4aFL5Fhj xK1bL3Fl0ShVybAsXiuT8oGGXqF1pRfq56O+hiMfEQG6jaAeY/xoVkYOlYrvv9xk zN0HQuBwS5uNMgvHDbmU7mcpskI0XbrmmjJt64bN/QnPFrK31BFDJ2p0gfp5LGxm Bc8xue+Wbne+O9ClAwRQWuNsiae7rQB+sFPPpdSlZWxnVYsIdeNFxe7rxWLXM8Z3 Q7e/FHB5wRX0myzhjXqilTVnI3WoNyPK1/HQC8dTOpw0Gkup3yqwUABw7Qk0IwkS RnbkuFv2d0Jzcze1MmVbhZHEoCPLFEHU5MnozlAZLosT/6smW/jayDOuhNS93WG+ 4ZhIN+H3AgMBAAECggEBAIrZzPEYafvKUdrDoL1pQUs+rhQhTM2PNoqNmlPZn1LM T9BKnhIhX8a+Eutkdzb/aijZ1WIEey2NtvWGAPEK9CBD1Cd7VzIakrMj+IIa6JXi gcgv4wlE6QhMJeUXVz8xYB2aUXH9tPMy3H/nZ7HsCJjuZ/8BM80RLlQtXw8Md5x4 iLjpmCeuqQt7Z6BN/SGqxreRReD9TkKggwmdc0qXo5YyWQR28MVVVoDcyRoHXyRl qJl2R1JjBA5kVoA49EseCAiPiCMrUt0ZgK49KpC/E6+/TgZBFJzb+9sx9oF+edGq srSKm5X4BYR4hxjEMN79ZHZm3DkthO64hvaiHbo7XvECgYEAxjZuSCAMRF3s+8mz Cx0vmNCDes7dnbfblvv26rwmCCZq2SVEebuNwaFb1jLqS2f6/nYg8iKEpeGUtMhB xrTppZrnD2RJLYO1MXs3KUcCCp6Gfe3YuA/WD04O+3mz9zoiwtPA1ZF0BAXNoUp7 mPYmOzQD2gUgI3a0O+g0wGociTkCgYEAyTIn7i/BmSzGa6W42AQqzpHH0ELg25mp 5KELNZW/YPoWvm4XtKRCxBHOVL+Rza6GMiPnX34VBfE+zsJD8rky4K/lp2ZDZE9M rmRVcMf2/elWLIGBZqc2O2t0QcZ/ogcqgo2dGhomO1Cqr0amlZYLHqGaYruw7coi 9y/UwuIKtK8CgYAPZb0NZ0fsq6s0KAf7jgnbgh8klBtNHDI3uV0GARWnPmzAb4+x MSui5gj/S7c9olcyGzUV+i55wFtP69qIOBeKYM0gOfchTQDvVhYD49s5vfTOpYJX Ugub5sFtMZgUVXTL061AKetsQJMnu2R8jmqL4M+HySwk9RytJq2qYNPUqQKBgDTD bYtehNQJ1QN4E5C7DwrbWl54m4Wbt91YipsD6YuiKoLIVnkuNsA6tzSshK0/HrxZ hB0b8KF9Ue5hLfaisQARwRV0kSnmTgLSF0Ibft+56LqFQA1Ovr84f+WcC+7PGEvi nZex0eLuVcTfr2I9Vi8zTEymUlEaGK9goNh29T3LAoGAHxAMta9XH/r92N36pdZG uR3I9VyNaQ/ZrBRlfoqQalDEUo2cHt6MImNOuWSsX+e52hvisGfm45D07Fv9jQEP Ej4bilFnyPBWCXyJsypV1ejYIQMWVCr81p8h1ddMP6hBPtzb3Ul8o//XkzaZAG5l 1iE9Cq0G05xE5zy+I6Jrqfs= -----END PRIVATE KEY----- """ ), ), Cert( names=["ambassador.example.com"], # Note: This cert is signed by the "master.datawire.io" cert # (rather than being self-signed). pubcert=strip( """ -----BEGIN CERTIFICATE----- MIID+TCCAuGgAwIBAgIQBQjvtjWeKA0+Pge3D4oG8TANBgkqhkiG9w0BAQsFADB4 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx MTEwMTMxMjAwWjB8MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp bmVlcmluZzEfMB0GA1UEAxMWYW1iYXNzYWRvci5leGFtcGxlLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBANQ76B73wb4S4UxU4w5Z+tCsjeuGhDdj eswxohl0+HftC/HhtkXlPlqQjAN/GljkJm8P/iBju5xMIvQws8NfrMvGmBOgCRCz BAzKHja+EjS3Z/3iNAfVyzMzy0Z+UGuCVfoeTKDD4kqR7A5dBFkQ1ROKkiUlhT/Q Fs/nVqAsz4FFWqZqS1wsJFKMnBbj4gGI24WJJLMdnRyFAyz78HOVCSOzq/BJL36w Heyu3OHHDswM5oeJ+RoJkh1EAa8wRM4lxPzyX72ClYi92Tqxbqj4mLEXeTrQi1sL Vt5vyp2qV1/R4RO/fA2kGmB3V/XZ8jtOwbP2RDvnHHbq4qdG8y685ncCAwEAAaN5 MHcwDgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB /wQCMAAwHwYDVR0jBBgwFoAUdT5TYsy4k6cLeTXvwdhDB09awaMwIQYDVR0RBBow GIIWYW1iYXNzYWRvci5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAc5UZ ml+DhpSJAltQhOoQd4PjulTg8q+0Fy3sLtM1Slq2BJyuTe8MtjHEMNsKoaF6P2u0 NlYPd+2I8DrvVjsUFyeu8XoImamw+xwpPVfD5MbCKPOOJCHots7hAlQ7Ztv6T46U O7vNQOQBhrRl1UyNObjZ3m2rLDJb9/WN7JIKXmbDhVXXPlhHdSuExMaup3j+m1On tcBojVht2K5xsqzOkHR4HirTwvXYDrHoOzLRYUfF3FoNJ86Mauq600E+CuhToim7 LfeaH4WR4rO8AUoyG3pHZ2jFSpsqC/dQYSqIiTstrXfRmqVJMI+umAmjSgUeK4v7 u991aMkRRpwSwJiDVw== -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDUO+ge98G+EuFM VOMOWfrQrI3rhoQ3Y3rMMaIZdPh37Qvx4bZF5T5akIwDfxpY5CZvD/4gY7ucTCL0 MLPDX6zLxpgToAkQswQMyh42vhI0t2f94jQH1cszM8tGflBrglX6Hkygw+JKkewO XQRZENUTipIlJYU/0BbP51agLM+BRVqmaktcLCRSjJwW4+IBiNuFiSSzHZ0chQMs +/BzlQkjs6vwSS9+sB3srtzhxw7MDOaHifkaCZIdRAGvMETOJcT88l+9gpWIvdk6 sW6o+JixF3k60ItbC1beb8qdqldf0eETv3wNpBpgd1f12fI7TsGz9kQ75xx26uKn RvMuvOZ3AgMBAAECggEAWRMznxu5Mv9Vk+Xkzjcxr7dccUep4l1cQqtqL2kKh7rz 0nc7Oya1/ui/+w+zjS9keiSqMgnpyfWijf6K1CspqPUXCtWWOG4J+xwxhiRMG9gG S2ZPFCLFAB5y6IlHU3gGgc2Jt8e/CDEqc/TSSFdqNqNoJzMSM/AwQt4DW4KzLLud SbtLz34XZ+VUO2Yv3DfCuZiGHd5uMiVz9qaZDTxWY8tHJ/BbNJc4l63j/+aHh12T ro0bgBTwY7Fn6vU7hmDTEKYrwNb+MQJNJ95nbbyfy0tfpYCe09glk88CAqjlAn+j aQUN8k90Q5lc5MsjUcA2VtyNhHFQwL7xsGZmxTtHYQKBgQDiF8pjScbdpxKZwc1w xnGe2dPSy6wHhvKfxQR7ngn0YOUvYFtB3FQnykfiyAE1HlCb1z+Vc1qA5+o0mNl1 MAvKBLvsfTfym/Rc0Z6KwB7JUYfcj1doub3tOzXe3YP6U5WDbu9ZCv5pyH0+IxMH 3cMUACL/mmhGzrV0OQP+MjgWXwKBgQDwTs9bsgf+CaN67S4DweXTi07e2Lb+6oxu RpramV6YyimJus1hT+nPBIpr1bu6wvbEf40tHok9K0hOtm2u6ovipVTE09HzlHVe AxKPz0ZHZdw80UtqeeypbblMjA8i2NrUIppaAJrxsjBpi9HXRxUuIT/XOfS5rfHW 5jXJMNe26QKBgQC3Ulj9Jq4DvVs8psLAZXdtOOwjKJflRotl9qbK4PrrVsGeJ3/3 KAJofQDKpicsfdcYdXCN6omAqgrh+OmhtoJonGwPtfxuT/vUYvctQ9fynpQNx4A1 Xx3bxD3K5kwD5k/90S5rQZnGBhVfE6tznmF1zyKRpA5XE3ZXtX9CVk/Z+wKBgHCp MhPWKmMSF7+41HrUe7AqvoZBacGnKsFEfrL/dlcBaGn21vTJZ18zzMVzhbiwUMqc 1g4SI9s2oIauhkucEIroYg6JFAQzVLcHj7s2PMeaXJ9yq/22PZrNIzNc8neu3SDZ PC333Kx1krbY4z8fRzHCStDXjgFDKH9MnGi/alKJAoGAHLVWiZEk1hoq8uEIlOoO JfZVq1GUEtd/mKLItPw/YmsyiLBIzE1TUrA6u6kRTArUQ8xDg4wViRaHn8XqyUQ1 pOuckxNbJvNoDCABjqlwd9q01FEJr1hzJVWbBwFiY4JP93HnPONzozQqKyphbTX5 X8bZ73WeoYIMAm7iRjipOoM= -----END PRIVATE KEY----- """ ), ), Cert( names=["tls-context-host-2"], pubcert=strip( """ -----BEGIN CERTIFICATE----- MIID0TCCArmgAwIBAgIRAPikCBC2umm+VI5L8KKmLhowDQYJKoZIhvcNAQELBQAw eDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxGzAZ BgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMjAgFw0yMTExMTAxMzEyMDBaGA8yMDk5 MTExMDEzMTIwMFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQH EwZCb3N0b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5n aW5lZXJpbmcxGzAZBgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAMHJ15I8OdHgPqPwhAq/YwNbsl88FtjNQCpB ppOIrAb6IumpE2buGruXDweVYREN4ECBy4NXj+zbLfp0jP6EyNq7CqDEaM6MaEmI 4uBrpKAB2Ac4qYFP1CMLP2fYvRITBg0SHJfZKx5xsrdnsjjB7RWFmudQ6Xio2d1R MM7JCtHlDPXZP0UH2x8Y9zLCZhyFDASIe1Pt3Y+Dp6NWYY/tKUzHSXugYPcZhRj/ 0d7W0/VXF0s6xOS+Gpmwq/XuDtb8zpJ3xxyitLHgb/TVS6fqo48HBNZ795R3fhG5 x7QVwJwqIi0oDA70Dbxk2t9PykaclpN7KdBk47H4FwHZFbU2zJkCAwEAAaNUMFIw DgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC MAAwHQYDVR0RBBYwFIISdGxzLWNvbnRleHQtaG9zdC0yMA0GCSqGSIb3DQEBCwUA A4IBAQBDhJmvIOaLamX0+jRQevCJTR0/YDWsOGPBPL+HSDhS1iGNIItU8/66whmX 3PGXt3DyRxLQLIzzn0WzsvYMblTORdaTXhksWKWnemSyP9haMKcf5JNAwJXhpXXA dQ3C0yGqU2lofgDG4vigrJcivprzbfGWbpPCZvEssIqmZBAX87UEYI7hx6fTSNLw ib00RaDXOD0zbENCrBqxZtztiXQS1vOwBFAGdlSSoYDnmTxql8EHgsseOOawk6Ax TElNS4hjBTwQlporw1QZwgDVxyXZBGdik8J+RBkoE9jHF5Rs7LhCVt7Fz9TH1jyi IXSyvhHCDXUoao7JhkQ6luPPYaUx -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDBydeSPDnR4D6j 8IQKv2MDW7JfPBbYzUAqQaaTiKwG+iLpqRNm7hq7lw8HlWERDeBAgcuDV4/s2y36 dIz+hMjauwqgxGjOjGhJiOLga6SgAdgHOKmBT9QjCz9n2L0SEwYNEhyX2SsecbK3 Z7I4we0VhZrnUOl4qNndUTDOyQrR5Qz12T9FB9sfGPcywmYchQwEiHtT7d2Pg6ej VmGP7SlMx0l7oGD3GYUY/9He1tP1VxdLOsTkvhqZsKv17g7W/M6Sd8ccorSx4G/0 1Uun6qOPBwTWe/eUd34Ruce0FcCcKiItKAwO9A28ZNrfT8pGnJaTeynQZOOx+BcB 2RW1NsyZAgMBAAECggEAEdVQSD3QmFbJjO6iSBbqtrFmjcsK0zK4N+tIuAT4x7+X HOeZSHya6y5wjKMbhqU/QNBw+QpCzWoyJf05yGZR0Ycq6DaK6o8TPckiD8L4KF1j Eu8M8kB1ZjAvyo+wfoxPnz5OcU7j3+5YovYg+YYnGjbsVWMlyRvIyMwi8LShkUUY 0syUnZRrz/eMpagByLQVCL3lBIYmpSWAH2Btxix8Z31n6DetklNm3hjgXHAmVz/R MntFYwARt+ma/pUkL5khCFL9ZSoxeOqEyNjYmHF1E8x2hWYarXJqdy2i6WQJ3uaS LyotZHoHiP4an4/DNl1b7sf8x6r73kf9CsHjR12qMQKBgQDXZDz2Ik+KJJmkCPyk VWTU7IddPJ1+I/xccirNRKJ1Dtm9zZQXd/gxrH3hFVyyRhYxOtUAbU85h7KUpOz0 /bI/BZph9GbfUcYzZ8otCYyakNUARE6auhR6IWPF7Qu4LC+NHg+k6+JeWHOzn0BR ZXbJ6phe3U/ZNtayjratuT1P7QKBgQDmUvDoeefBfW6d8lnWSs2fsQe1BB7fN2Wf HZ78u0HD/auxY5zqCEdZujJ1rSScCxpWaNaDYhruJRSB2e8HObfg3DKvDSt21yru WO8LCcHDqmGhVb+BdjUBlDiLbuDOM8UNc2zvMgj7n/pWl94dkd/KiAj4uPB4lAK7 Ts1s0ABh3QKBgHFldW7D24pIAJdKn+/IgWBT8mQU0Hmjam4lMQGGe90S53G0tJ2y bHmCbXc9ruKwYWijp5Yk9ku8dDkrpxDIK7pgMcoWSL6Tp7xSjS8u0tZhH7KXQ6bU BonR4FxIkx3wLUynIedaxH+VI7zSP6NavrJJDtUKwMoDw/6XgfduCah1AoGATKyF yE50yWPxRCFeqMjkJOoxD6CcimCNsueQer/3x8AVvQrVPM+euQ8UJzqJemzzyppB 9yDcqDSt3ABp4zTisrd7I+01b+13PDtc8IbB+1ooACZkhzuLr8fg/wHdUqfHTJAF TqeQd/uswdDyv1NFdc3NdsdSPkG/mw1Ds5qW1f0CgYBszqC5WhSgtwoEZrN2kzsk nnXAku8V86eACyDCCnl03ZTa5PE5sLlyrTCA6umMa8uerVrj4D7zcRX1G/ZGRkxd p/mLW03BkBWSuN5cw2inh8ETWFL9as8QkHgnt7AHkbTh4SDmrmvDOGIdfdfHUumU zz6gFsnFyr/qOxYeVD7NWA== -----END PRIVATE KEY----- """ ), ), Cert( names=["tls-context-host-1"], pubcert=strip( """ -----BEGIN CERTIFICATE----- MIID0TCCArmgAwIBAgIRAODFxyVddaWLWXd7RTBqcXQwDQYJKoZIhvcNAQELBQAw eDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxGzAZ BgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMTAgFw0yMTExMTAxMzEyMDBaGA8yMDk5 MTExMDEzMTIwMFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQH EwZCb3N0b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5n aW5lZXJpbmcxGzAZBgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBALn/ay7m5ZnMLoCt0sZi0UO7Hh+v3XBNQt3g My5XT+Dvv/M3PB0/rL4G3VAXUNtwKlgHLSGxq6V4UqcfPVqnqajWNd1/zsHYPeVz R8xBIwyx3tydMcWeF4cETh8/UmL+cZVT0HO4lGrYlI3PbdLDKh+uDfBgmQzxCzhI fK8KtjHrYkXZEsVFjJRCHXLG4I+8Q8yJSuFf8J9V3mtkiV/jU4ULy8Ikw1Ga+MQl xQX5y2eYrnJ50+qXrEFEh0DiGZMxZlFnFkjFpbJ2xxbhEBdyd1zp6tEaig4xkcR0 2JQOaA2WOfFgBLvlzjSBL16g46CTdsaWIjD3cFjkNL2HD6iGofECAwEAAaNUMFIw DgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC MAAwHQYDVR0RBBYwFIISdGxzLWNvbnRleHQtaG9zdC0xMA0GCSqGSIb3DQEBCwUA A4IBAQCXDfJV+IpQ0M746b5r7s0qM2rxsMUo+NNN9y+4ZOh7tNATx8JFPuRU5/jZ Sbhfp43Ohh85iw4//Ja1Yfh+h0wX723L+ZoTC4tEOxpODHAaew81e70oRcXy24DO bjKtvAzLl0ozcrqg07Mt+YijPfQqtzncb4Mq+FABwP1V0tq9iI6MoGU90hVKSEZC 3AVl2vXlAULHvo4FmA0uyDMzmRQpkMylu3K+NBJsfDtImRVdY25NZ7B25rgCCzBH aB8yMnL7DxPbN/oAzGONIyd/cFB/nY0waUehn7oWQ5h6DfGpUl9fFFqe+nsYu6dP T2xM193Qbf7uKjfm5fuezhJ/Jp9r -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5/2su5uWZzC6A rdLGYtFDux4fr91wTULd4DMuV0/g77/zNzwdP6y+Bt1QF1DbcCpYBy0hsauleFKn Hz1ap6mo1jXdf87B2D3lc0fMQSMMsd7cnTHFnheHBE4fP1Ji/nGVU9BzuJRq2JSN z23Swyofrg3wYJkM8Qs4SHyvCrYx62JF2RLFRYyUQh1yxuCPvEPMiUrhX/CfVd5r ZIlf41OFC8vCJMNRmvjEJcUF+ctnmK5yedPql6xBRIdA4hmTMWZRZxZIxaWydscW 4RAXcndc6erRGooOMZHEdNiUDmgNljnxYAS75c40gS9eoOOgk3bGliIw93BY5DS9 hw+ohqHxAgMBAAECggEAd8TSZxRFuuBw/Wlw9VCCgkPGpQ7g38TQjwEk0+1jQWwA xYPG0OrEuGTBNCafaX5ztdWBKVY4OkgdqQIDxxF5vX+alfQL1mUBjnPKQuuavzz2 Tkdm2mLvsYCDMbnbumUwDME41JuB7r9iAWMVzAbiZB33WddKFrxMxkRfDXQvWDqo RGl1U4088tjTHdLWUxa+f7U0KbDicaFDO2BCjW2V9oXQr5qyERbFTlsujVHVG8AP Jun5NPnZ5+32fnsdbxOaP99uwAbSwS+moy9pWOikan85k6fUp3sDwYtsidp0v+kz hRYT7wY/TmYQxnk5e64QGhkRaJm1aMUGqxCE0o/F1QKBgQDB7NsX4sCURO0SQci/ fvc6Rgyh4rCwsj5VPanvKm9jLZdslNKiifytQm/tUXUPyqfIgxIMZzSW0Vf8uqFD JuFdBGT4S6nruTpBtmb5JAHn50ijSw9MS5ik3d+2sByKtiVHlxl4mvrLX/u9d2VX OIk8xfOilYd6/EnIaPGW3XCRewKBgQD1iPJ3y0a+72idD8AKZxEux/9rAtC7/sIt 2RcYIg1kr0tq5PeDVrcPlXuy1OpvsOEuZWw0+m4QdUsaycv6i9OMunZ4IsUYphi5 suqXHaX+4fsPDdPRiYEVcZ//F8x7Ii4hgObMWdR/UrCnSeZDkGB9RpbXmwe6k8js jq3GFRWQgwKBgFw90pUQ+XNNOcrWWauks+oXCcky78KMdhPLqfomICd3tzAhtfM0 WWj8Ugr7FQh258n7dmlJ6fzXBNgk2bH8W3QINBLawq9qQqihH2fgVbu+CpIJkPRE fQ3mr5PRPzJHo4HjAG2aojJ8rFyZ3y1WqgirS9EI+RFp0ZqvOEL/f5zjAoGAHH4A zP/svLlhZWBvg4WES+5vaEaSXE5q0BEyCd3huf5RfR0Gz9nfMlLBYPYuIjnfV5fz X45z+TrzNS+XmQJi0SDOIJDAWGTl1564dEK/gX1Nueh73QPc09U0oNBtLRjBS6f+ oFYIP6Ij17XOn6aAW+k2Fdzqn68IkNLZvXOy5esCgYAzYU1RChYyRm6rj4oJk11f iZKJFJEH1BfOVFA195qmK5XJgFUu98whNE2cR3RFnw2DPpC/gZ1heMaS7ILfZgRf F+wRkbZkrT4HVBpuBFYNvJ2gVVn5UDFMVphMvbo4fKFkK5eYWAW6y2bgqa6YULJr H3vWIJXEkDm38yyCC0DO3Q== -----END PRIVATE KEY----- """ ), ), Cert( names=["localhost"], pubcert=strip( """ -----BEGIN CERTIFICATE----- MIIDtjCCAp6gAwIBAgIRAKvvNsSxC7ZhWVEH0GreQJMwDQYJKoZIhvcNAQELBQAw bzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxEjAQ BgNVBAMTCWxvY2FsaG9zdDAgFw0yMTExMTAxMzEyMDBaGA8yMDk5MTExMDEzMTIw MFowbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24x GDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcx EjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAKaXYav/XFMz1C5Rkjvi+nMaQ6zk69xLb6LuF/q0K0/uHbOrxcBnMc1p1dz6 z0Bpy5g0gnrgU1BdTA2mTufyvIJXnNqGT9JcUhOAuJLDVEiWgbycKPKT7vGnqGPR CvKzIQTGDTuLdjG8hULyfiMZz9eofiK0Ay5oXA/kIxl3PncFfGelD3NMgdsDyUtQ wppb7vTRd3rIq6odEjI0Kugo3Nl3oA/rig4gqvalMAV4wMz51RywWJ8Df8hiUHB6 HfJa20rMOmDMQpR4U3E94Sox8qRbhPzFMuagW92udCGZP7xfbd45u5taJmNErM4/ GF38neoFV3mGsa8ITJ8V3m0hVeMCAwEAAaNLMEkwDgYDVR0PAQH/BAQDAgGiMBMG A1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9j YWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQAtEWj+ZkNiqMNcOvsYo6zIxNxmDoGX R1HfK02t+/VbnfErcaYOREbIS8YhidG8KO8Wo0GbjeHeMfotbn9ncevbRjxzfGzg 26r8Vq9ohaQwvvsCfYJoESFRHQ5YWiEdylL1a1M8T5GOgxd8czPwaCBuPxAn4POk VfeI6wDo2maGn4uS5PjLeWEQAT6A6BGVlT7KOrU5HAZwRLH7mbq9mx2dOgtxi7RW //snN8jx3968ag0twjqOtOYYuam69ptRg5n1Re7zUKfCgJcar8BGL8FecDnz/n7V 1fNawOgbbpY+NNGvU2t3O89TDy43W6LyEGznvG5/EEVwiSfa2bvxpXrT -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCml2Gr/1xTM9Qu UZI74vpzGkOs5OvcS2+i7hf6tCtP7h2zq8XAZzHNadXc+s9AacuYNIJ64FNQXUwN pk7n8ryCV5zahk/SXFITgLiSw1RIloG8nCjyk+7xp6hj0QrysyEExg07i3YxvIVC 8n4jGc/XqH4itAMuaFwP5CMZdz53BXxnpQ9zTIHbA8lLUMKaW+700Xd6yKuqHRIy NCroKNzZd6AP64oOIKr2pTAFeMDM+dUcsFifA3/IYlBweh3yWttKzDpgzEKUeFNx PeEqMfKkW4T8xTLmoFvdrnQhmT+8X23eObubWiZjRKzOPxhd/J3qBVd5hrGvCEyf Fd5tIVXjAgMBAAECggEAe+60j9M6aP9uw0KV6o1ySnzoidAIE2vfUjOUjULJ0f3Q BOEuDXP33dv1aR8BXecWulWeGDGYaXnu4Vyu6OlxCfqJyxwOd+2MdcvWBADiS9oE DD+UStp48TgMEq3qWiGe18FLCNg4hsm7zdE+u3gxYjuMEt8eWsDydDQBVKmcQ8gS cuN0CIRu4unj8rEUs0Zp8hLhaT+1B5z+iLwrAhRn2KiPDiYICx+TyEZqxWf8LyXw QU8yeeP0DV9K0um2degMKylEXWUGqVt4/KAhww12FW9DeUkDpin7/wyx53+X5sn1 SX6nPC+9HwgW9xWx6YoIYtJO3YyRqPzptivdCY65uQKBgQDX1CvIv6IYsAA1XfHs Yt0ZFeorkAE3nWmJTF+NCy1Ep8agHx75LoE/JWVzxZ/EmQ1iyWL6tcZry1bmpqcc cjygkbqRdpn0XFA3NbSvd2xC/D/mIAdkudkb4z+1rGoTlx25y7eRGvyGxJGp+TBS IkGy9L3+4En5J0dJI79iVRluLQKBgQDFmSPKC0hJvZGTDXPNCrdtQfGmAjkarM6N 5zUx5sCTmBgzCtpSZOTTc7tv97Aa4zFa7/H9QUPaEjABL+7BC1lxDnhUgXKG75Xg EavOFIuN8TOgn6bWxlKOeghUFlEEQkXjSjQSuL469uEPYshFyyztdqdDWCWNrmmE TD8DSFVuTwKBgH1JsVELzXE/Wh+gtXtfuLGDQziek9ZRDp6hMyaRQmoEaw0wg65r DKQ3dTlLk39wyZB7D3YyZ0jT9VJXk9KzjfY4InGmw6BSpk4mYwko7jPEcuOH3ELg j+Pce3Ne7wUISD0+wQT/AXDKUzS0bxR+xly4LkLyuH5mCr+ufL78X5LRAoGAJf1j XBz/MO45ZsRXVzyQN3lONFSJFg/TRoUFPSrYK4g6XtXfU6gCNoUxrD06pnC3tHwd UkuR+AM3J4NHq+W6tHnLuLOKiVbWwdWj6mMY0ZlmC6OmN/S5OptLrp77xI3ZUfGa QV8zc7KzYnnjd0eww5bkYZY44hx+POlL1B28DxECgYBs895ZOJRrDaqyeR2XGhqJ aYGPMfsDqCjh/T8RsryeT1kBK0qdHopXqz87k7o4n9+Z6oM8SeC/LZpo+a1tZMWW g30DGGSo+r3TTJ4JSR1bd27JxN4fnNQhXj8iYqx3LWhMk5Tij7vKRKsmKnOipQel U+AaexDnvJXPx0dlMt1ykw== -----END PRIVATE KEY----- """ ), ), Cert( names=[ "a.domain.com", "b.domain.com", "*.domain.com", # "localhost", # don't clash with the other "localhost" cert "127.0.0.1", "0:0:0:0:0:0:0:1", ], # Note: This cert is signed by a cert not present in this file # (rather than being self-signed). pubcert=strip( """ -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIRAOLVQpFEw8jDIYlq6bNFTf0wDQYJKoZIhvcNAQELBQAw cjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxFTAT BgNVBAMTDGEuZG9tYWluLmNvbTAgFw0yMTExMTAxMzEyMDBaGA8yMDk5MTExMDEz MTIwMFowcjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0 b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJp bmcxFTATBgNVBAMTDGEuZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMfFoFKTH53p+WGbBOCh2XbSQKLGXFbO+EWzr5yKTfYU1P20VG65 jjHUwxH2oa8gZ50gBEYHKyT0IE3nyrCEiZi1AjjuQN7xTHRY7IAdf0MNZxavJuDv FHdSHmdjLjp8mOlAVzYPKfWoOPdRPeKqTdbJut+a3b0V6o6TPb1kIeU2MrkKZ+tA zbw4nLanVAPqmqIVUPTff+mkD1qLl9yH66DauzZ6OVC1G32bj9kh4bQVlZh485O/ 5FSyMbk22uCbE4jQgG+dTGYtUemxJZ/2Lz3ksEWdw7JQEnSRSX5iqeq1pthdcFr6 EN9qufVqV95/hhOyz3rRcbbi4gY38rXBX10CAwEAAaOBjjCBizAOBgNVHQ8BAf8E BAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBWBgNVHREE TzBNggxhLmRvbWFpbi5jb22CDGIuZG9tYWluLmNvbYIMKi5kb21haW4uY29tggls b2NhbGhvc3SHBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwDQYJKoZIhvcNAQELBQAD ggEBAMbiTlwgpUWjHBkDyIU4V1xfnJE1WR4dRxwzsiTV9wLvhFUU092n5jt5nJB+ zw5ntR+o/P3ZnmZQODzle82992FVBcvrP2hO17SBXCur2b1nhGBaR65Ep1YTCswZ 6HMogITRi9stTFpgKLeE07Zfu2skadvCpmYK+K8JSUWVgYVIBYBELhFlVbThEbH5 f8PWs1ht+mf2yye5YJ4qWm2i5PFc4a5RhCyAt1taKEfUNAiY+o5sY3MDqvt/wDw9 hspcBinogqX5AEYfSLqJl52KmHXYYVUxwfXsjQVVOoVtgZPkGr/w6uG/28CugkeF Z2qUdrALX9d8OSyVcFFHsTWU+ws= -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHxaBSkx+d6flh mwTgodl20kCixlxWzvhFs6+cik32FNT9tFRuuY4x1MMR9qGvIGedIARGBysk9CBN 58qwhImYtQI47kDe8Ux0WOyAHX9DDWcWrybg7xR3Uh5nYy46fJjpQFc2Dyn1qDj3 UT3iqk3Wybrfmt29FeqOkz29ZCHlNjK5CmfrQM28OJy2p1QD6pqiFVD033/ppA9a i5fch+ug2rs2ejlQtRt9m4/ZIeG0FZWYePOTv+RUsjG5NtrgmxOI0IBvnUxmLVHp sSWf9i895LBFncOyUBJ0kUl+YqnqtabYXXBa+hDfarn1alfef4YTss960XG24uIG N/K1wV9dAgMBAAECggEAd/8nrDIffbV7TLvXFC9j9tGYba4E7UfpLcUfKUKSTcx5 m+NkDBZ9aUVJ31JsEEvAsUr4BjBsJAhYFzOyNpGGLSodKaFDaic7K2/2r4YIWXiF gcS378jsXDgBd0zGCe+p0gIJ4Lj/FUZ04Wn1aF+v3eLS01ms89VkTTv4i/jHu2vg ygGFr0iHZtZD6vPoo2ElJswlJU9K09EmQuHHV2IUsL/j8hGhwPrTt3qtf4SuamOP vjdwdOD+V54tq8t9TmoZSn8YcrRX87yNkIDqu/+GlfN8T95HN4i4apjH3N90srpG +hWN5L7hNcqLrDTxVpy/l6hTyItjBHQToiEojJBC6QKBgQDXEdcejHh3DlOjWOnl o3Ykm8deFG/1tIy1/8CgCnEULQ6xMstFlmTdw/xbQDt8UlGFvUgPuMbr+EdJZWw0 0vlb8oGEvvLcQUiDY92AgZ3eozBZCl7kG74kglls2kwF1faLA4T7OCCGCkDArsYX QJ0G0inbiI+Fym1XKU3B5TBUswKBgQDtynvm5T0dyBChfRym3fqJt1/vxZM9qLP3 85ATI5bppHz/CZdIMuBsOFaV9cNA+9Y7DRMqqKRvbaW51/CD8FHZKkbmc84LbIqW bvIflBaDUZVbv67wt+5j9+g45VTqy1Ve44ape+KET+46G1Bq8Q76DrHIaLkPjG16 YgBmmNEjrwKBgG5gB4j0Cnb/cUkpvpBN/bn4AK91yafNy1E0OkVoVnRGU335VX0X HBj8Fi02n9DD5na+l5cJ+3zq5Jr0ZD4P8E2R/YqE/Nqw3mgf/nOPEdhK4+sueViU LFdMVlyZA98S2f6qBbtwKLDh3i2FBMC2NmBjx3uVcCL3qnnLBs71soIlAoGBAI5t V6VG7UJnUL7JR14TWzsdoNLmzniCEbmUI1mzWXL8WPoRbpGKF636WLJdj+Pec8TO 4goNFODBFiCoXKFKUlv23JywBFwHWUMdlNyhQJLLTOC1gT0hjiJGnMtnYWN5Atth AImHcHe7wH8BWTuUw1m3b3kQcLgFbpV9GaxaH/p1AoGASeePrkCHbTglyhIPlhOO ZNv+1U23IiUa1FWov4XeRy2bPcHS+QGr4PLBierXJLh8BRrQqKr5UaD9VUKXcRQ1 t3bmXzq1pvTTmGLeU5SHgu3E8Q0OmXg81JBhX2zFd3P4eOzg48rWs7u/aGx48SmH PtJDgYlU/MWbf+QJ5TVqEdc= -----END PRIVATE KEY----- """ ), ), Cert( names=["acook"], pubcert=strip( """ -----BEGIN CERTIFICATE----- MIIDqjCCApKgAwIBAgIRALWUzAZFlexRsIL3jbWaQeQwDQYJKoZIhvcNAQELBQAw azELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxDjAM BgNVBAMTBWFjb29rMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkxMTEwMTMxMjAwWjBr MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEOMAwG A1UEAxMFYWNvb2swggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH84PT Dc2PZ2snbyKfQFG4AxSHu1WVUHn4rawwiP2i71oVKqTdm7SCb6vR2Z2194nvyOgA AwfZCtgafoIY+lVakScttOkwqvFFkUIPt7K7uq7ovzDfRiAmNKWg3lKj3gCmJ/SB Uur4jeys6HOMmoBpy8tKyCxnkYj029DedzXTjWuHu1LS5ZdJi10bZSEC9dnU7Dhp 3lWD4EsMfm+uvr5C/h4mVjKFnZL+4MDbpj94TaN4UwQRZh//kutsQgc0vS+TRgtS fzi/rS+A+UpEGASx1e3w3EBDMoPu1c41GF/qKJMjD95xFi2GLNURlGqM6mnHVXSH w5W6CxjY43a+bdsVAgMBAAGjRzBFMA4GA1UdDwEB/wQEAwIBojATBgNVHSUEDDAK BggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBAGA1UdEQQJMAeCBWFjb29rMA0GCSqG SIb3DQEBCwUAA4IBAQBuqhTs/P+rSDX4NXnebnOLBkWj010Hh49nmOqoGXCnhJCe Pe+if4uJSyTUTBv6Wot/3mK4NOq8k393NkxrZeooPJMQuKP6DKf5TOkgncmjldv7 ceDi/C1Hy9ndFUjCqyMK96X9p1T23nkcWzzYihvW+3LseYOOJQOvewmIb7u5EBBt 1n/PnpqOuP7Z1Co9I2/5wQmBHSk3RAR9B5q2MrATxoDNzB7aSeRjG2P0y1A91z3a eZRtgJ10FZuCxE3C+AhSKUC23ltGjLiscVtaqS6Z5o4W+brzSKf+kFgnSGMc2wL2 atpbBOSUtgfJC+PgzkbAYXRgRIxBZRgN3wt18WIZ -----END CERTIFICATE----- """ ), privkey=strip( """ -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDH84PTDc2PZ2sn byKfQFG4AxSHu1WVUHn4rawwiP2i71oVKqTdm7SCb6vR2Z2194nvyOgAAwfZCtga foIY+lVakScttOkwqvFFkUIPt7K7uq7ovzDfRiAmNKWg3lKj3gCmJ/SBUur4jeys 6HOMmoBpy8tKyCxnkYj029DedzXTjWuHu1LS5ZdJi10bZSEC9dnU7Dhp3lWD4EsM fm+uvr5C/h4mVjKFnZL+4MDbpj94TaN4UwQRZh//kutsQgc0vS+TRgtSfzi/rS+A +UpEGASx1e3w3EBDMoPu1c41GF/qKJMjD95xFi2GLNURlGqM6mnHVXSHw5W6CxjY 43a+bdsVAgMBAAECggEAGzMKBKTFCLPlxKh+ijFCrIhmu4wFOVmILgbZ/IQ2FHsA ww5Y/PhYVsIAGnzC0mUI84Bd5tqCr8ik2v3IjsNG5xoFvVb1vbQTPAZleSPhAV6E uo5/hG/Sob/ZpAd6MGZbqj6XKRxxcDxGLMM2LLM7sqiRT+vo9nG6sqxQPmLzBILj wNqGaLh2OMcue8Ohnze3jNpQzmtpqFxPjtmzu+Le0BITydq45YX1WLf5SET+9set GMuzLaDpVPdt9e6K/yhz/WDMIjJy/SCIBZ5eVMjgCivifqxa5N04kmXdsnCAF0B3 R3SRWoQImqOE/HytlJi7z2icuHLG5EoCEhQaDWNLwQKBgQDb/h+pgI7WxtPLKXQb CMw4/+vJirW1H6aKUTIRH8jr0gcXPTHIUbHb+pt/VnUgM7eMM9bpwljwR6TUK0u2 9Zzdj1uYwzAO3j77kripx9pwM+0TyFbFdy0lpvKNt8KRbzw+719CiySz8s3bywZA s3hIjsjx5Zny73zTSOGTwTkRUQKBgQDoraNg3XDxO/M71BLs6auLZNBCDd9tmZvg Zn5Ytlc78bqkXE5Yy0j8sKuKgiszM/hjWbYjSZByXvnPFLnBFDZP896wJ6+6np95 gR8ssw2D3TgPPMyI3IAdewSH1tYQax0SpXc2Pg96tHoBhE25P1lAFgybac7p1PQk /xpvTvMchQKBgEdDpSIVoS/2LLnNbe0sBmwYi1s4cfCAlkSMVPmzIDU0TlO64RuR S1qFbkXrzflmh3kFegMzj/gWXVDVzasxGWW0gOmVoUXPvPtl5igps5tRVuVnqqRB HQDreftqob7XF98TT/qQdI1OhF1FAXuIJ9jpWDL0O9C0v+z52QkyOLhhAoGAdhda qlj5b5YLtzvFdzSJei/qevvrgAbMVDHwwjmZQLVJEw4+PVa/bnCEP8IdBtnDoTjw 9ivqAgIuK2nLdTE6941AYoth5weGzPY5ykf9/gUS5Ljo3jV7WHsNK5xf/OlAUixk usT4ukBLA+YQRIrgU2RddatX9tm8J+LJmeCqBrkCgYBzPY2znrzX2hXjipnPDV7O b3bvIXpxUi5vyWtxhZvFSGk/DfqnkuTsqzDNTtJ0EapZzo9LkXnbH+a9YlzJWufb 4pgFcDfdX+vTmtbMdBGqnx/B0feuznMmVmPhmx1PQVAIbfUwDFBTCCBVfQbUoMse 6eBj+TYOBwogTQvgqPygHw== -----END PRIVATE KEY----- """ ), ), ] TLSCerts: Dict[str, Cert] = {k: v for v in _TLSCerts for k in v.names}