...

Text file src/github.com/datawire/ambassador/v2/python/tests/selfsigned.py

Documentation: github.com/datawire/ambassador/v2/python/tests

     1# Code generated by selfsigned.py.gen. DO NOT EDIT.
     2
     3from base64 import b64encode
     4from typing import Dict, List, NamedTuple, Optional
     5
     6
     7class Cert(NamedTuple):
     8    names: List[str]
     9    pubcert: str
    10    privkey: str
    11
    12    @property
    13    def k8s_crt(self) -> str:
    14        return b64encode((self.pubcert + "\n").encode("utf-8")).decode("utf-8")
    15
    16    @property
    17    def k8s_key(self) -> str:
    18        return b64encode((self.privkey + "\n").encode("utf-8")).decode("utf-8")
    19
    20
    21def strip(s: str) -> str:
    22    return "\n".join(l.strip() for l in s.split("\n") if l.strip())
    23
    24
    25_TLSCerts: List[Cert] = [
    26    Cert(
    27        names=["master.datawire.io"],
    28        # Note: This cert is also used to sign several other certs in
    29        # this file (as the issuer).
    30        pubcert=strip(
    31            """
    32            -----BEGIN CERTIFICATE-----
    33            MIID8jCCAtqgAwIBAgIQe0mvOEH/BbzfL0BHs01DUjANBgkqhkiG9w0BAQsFADB4
    34            MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
    35            A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG
    36            A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx
    37            MTEwMTMxMjAwWjB4MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT
    38            BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp
    39            bmVlcmluZzEbMBkGA1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMIIBIjANBgkqhkiG
    40            9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz/tQZpfaSwQNPK5J3qHTwaIxqu3tKKW7EggM
    41            zcO36Azg/CsPMNthTj/XJ86qwSiW8sMvgfBqpgMVOld/wuG5jq/CB+c99G8CR0FD
    42            /M8XiCU9lJkGKUuYFLaMW8fi13EocmjoQ21J/qLKdX68b7pbdcwQK1qx1OblXbH2
    43            78HAfeQKrsVYc9wELBQ86quhbyDvJpoLEPsRD9J2lZ3EHwSujE1vJFjn9oU8C70H
    44            3RKiFQYn3BchCZBZ3qTWZ7z0/X3xu/x++led5SEE1T5AoCfEFNuebo6gvQ2um4K3
    45            rNqfpQS7vbobFvScEp8hBBGU9FfjlTz6JmjO5nb3mY67gS+XxQIDAQABo3YwdDAO
    46            BgNVHQ8BAf8EBAMCAaYwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUw
    47            AwEB/zAdBgNVHQ4EFgQUdT5TYsy4k6cLeTXvwdhDB09awaMwHQYDVR0RBBYwFIIS
    48            bWFzdGVyLmRhdGF3aXJlLmlvMA0GCSqGSIb3DQEBCwUAA4IBAQANgGWduNXnRtUd
    49            joBVDI7GT39pIAdVeypv6tumd3VU4CbPG66cTcLv/FsVK9Jdmx4+DpfwzcObyQZD
    50            LRUEpflFZ5aFxA1GyEu/1Qn0CwQpW9gIkcDFX7xzucgvIG7AgZFWPTp/zhQSyz4B
    51            bgJfq+pYs/M4ySRvo/R8ZhVkVMXUVhlGMtSbISon+OAXbtCMP0xjExwas1+twjOY
    52            u3mQI+pf/odMT4muKclKdPki3QAgtQLFRHD3eg6u5xV2IejLmG3MP2rWtiNic1NS
    53            NE+AB1oTWGebAsLlSYk7hKUbgd2d8peydT/QAOkU03imB4oURhK0WZTN43tJGObB
    54            IGjjcQQN
    55            -----END CERTIFICATE-----
    56            """
    57        ),
    58        privkey=strip(
    59            """
    60            -----BEGIN PRIVATE KEY-----
    61            MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDP+1Bml9pLBA08
    62            rkneodPBojGq7e0opbsSCAzNw7foDOD8Kw8w22FOP9cnzqrBKJbywy+B8GqmAxU6
    63            V3/C4bmOr8IH5z30bwJHQUP8zxeIJT2UmQYpS5gUtoxbx+LXcShyaOhDbUn+osp1
    64            frxvult1zBArWrHU5uVdsfbvwcB95AquxVhz3AQsFDzqq6FvIO8mmgsQ+xEP0naV
    65            ncQfBK6MTW8kWOf2hTwLvQfdEqIVBifcFyEJkFnepNZnvPT9ffG7/H76V53lIQTV
    66            PkCgJ8QU255ujqC9Da6bgres2p+lBLu9uhsW9JwSnyEEEZT0V+OVPPomaM7mdveZ
    67            jruBL5fFAgMBAAECggEAacnkCHse/t8tuHrSehqIMkrExrPE2NMLx00u7g6qYa8D
    68            VWC1ll1QLlQMpWPauOtjdFHRvV9Db/PLfWR6SO81yh0eLZTyj31ThFjvMw1HY+nF
    69            W+tGFgUscwSzeg+/E2SsdR1lXr6dT5cQMhln0dDRqqZEZzj3kVpsum7GMwezWJSV
    70            tfiM0bgNa4ZRKVK5+ZYksd2xo18V/n7XBmEup15d3PRt4Q4IOef0Ckppw5kp4so6
    71            ngBjYKnRgfjEzd1c4tjLNcPK8QUbGxo0WcenAokgJjyXliUJ2mR0CPaAeCA9qimL
    72            T1EwHiAaX2CXCqrAILII2U53cnYxUkSkuf+8cOYPNQKBgQDZ1h4RT54NxYfJZnet
    73            ps5e9/OUgzXUOvsPTbZv0ZHW1+xP+6ihvklT3bz63i0Z4tUgkVKrrtwmMbONJozS
    74            joILN4ytI1jwTd4wDrR+AiQiSzEtIQAINhuBxDX/6+D9jmwuYTDXkRZLTqqQoN99
    75            ayCr5+/9BaB8OnuUhQOB5uC1ZwKBgQD0azeGlqdpBagtU9ZrgVyo5Sk4VUIe6DvV
    76            XdHVdD7xJQt27PEcc2GLj8gBJ1SRX6GEMQpovH6gpqKr8MYDBbTi+QVh6S4HljDz
    77            FFUmFwFoRbd0Bggt9Cu7CJlDz1Cw3lFteg2EzhATWQ4sHN4KRRasvg4kBKej4VUh
    78            jYZkIqIB8wKBgQCZihsdVoHv8Qe5hDjctBMHyzrrteQOGBh3e+4YOJ3T0dOluJru
    79            jkH/E+6s4Ebn1QMl9mhPzGstnKCS39YoXvv4TgogyyZYEnqGYwcDPh0b8uXRik4M
    80            e569w3/QSAEIlwdXVXfoqUIOiH8ee9WrAARCRrPYIswwY8RRNcP4HrTKBwKBgCTq
    81            FIbFNh+MdSvzX4z5Cq+PfLw/VC8qz+6XrttYJTFycNrTSk8Ltg3H92MFN6aFFPXM
    82            GlBbN5y3zhW91YobUIh/J6rz9rm6m0X7KikIjHPdI6noR0/5cqla0RsGsp8j1JR+
    83            PJB0NsVVS+ipq3dNm/EW+zfBZDhCDgN1RnjVKja1AoGBALME4P5xYyjJkwbEx9oX
    84            Q3yQJ7nheDNvPeh4Qw0rXY+D5aaLBcAhIGI+QQHxXlNOVErbNIHRumIJrP3s7njG
    85            RsRmvr4G3Zo5V0ICopiPBG9RngXA0m1DRCL7rjTfWf0kNokFVThzxJDet6ETTpmK
    86            Xx1qt8HKucxM4rjPLijzN/5m
    87            -----END PRIVATE KEY-----
    88            """
    89        ),
    90    ),
    91    Cert(
    92        names=["presto.example.com"],
    93        # Note:
    94        #  1. This cert is signed by the "master.datawire.io" cert
    95        #     (rather than being self-signed).
    96        #  2. This cert is a client cert (rather than being a server
    97        #     cert).
    98        pubcert=strip(
    99            """
   100            -----BEGIN CERTIFICATE-----
   101            MIID8TCCAtmgAwIBAgIQQyITVq+2w3g9wn2r07voqDANBgkqhkiG9w0BAQsFADB4
   102            MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
   103            A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG
   104            A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx
   105            MTEwMTMxMjAwWjB4MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT
   106            BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp
   107            bmVlcmluZzEbMBkGA1UEAxMScHJlc3RvLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG
   108            9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7Epr7IgJ5uW7V+qGZ/UhUVBcRnqQrLolaMOi
   109            1uWD76cCqU14eUfweYtXCsZv259M5sfYEpp6Oi17tWaGvpGMfyIVXLS48eCfpr1l
   110            DYPE9aPlK02M9P5EINopOzHkOhiqzIlPkjLUlHwmBa2oj6QRXZN54JTc5hr2TZg8
   111            JXdJRprqkQ9gypY8sPGkXOFzQDiFmuqCNDtByCqutWO+pxqZ/HguUWEU30ja0ubv
   112            C2TIc3dPvLZddR6Qig/NL+hb3eH489F5CDtZV3w6sduLN22JxqKJssuR4U5gqZm1
   113            K4DOsF928uGDT8HKFzHYrMLdpprWKLwzOeH4DLbC9vZQqAsPrQIDAQABo3UwczAO
   114            BgNVHQ8BAf8EBAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw
   115            ADAfBgNVHSMEGDAWgBR1PlNizLiTpwt5Ne/B2EMHT1rBozAdBgNVHREEFjAUghJw
   116            cmVzdG8uZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAAJ3gQSUQKhxSCjr
   117            kONLPM1kRs0+lu1XRj1iTh/d3lZ5vmCUU9E+D0EoJeL6sUdWhki7+3J011w1VhLT
   118            r2v+v5PSnhoC9KK+K4MeNcnFJZ8CWoTfshav34Vy9M68dUqaorWX/hPnhP3uOqCh
   119            KUaHHF98p/2pqyRcNZ3VXvCXKzqstuypm6Z9jN5GrWbh4ENj3w6EM5sQiIxasaXh
   120            I0hABLKqueotSaZkxUgI0qUeaazgKuvkowI9cptnWRQ73GwIGLTbViFn5WR/j9d8
   121            BPS47F5o/g1A0FsNevtv5UN2tpPu4cMfqIUYphQ1I30yomVFMrJ1OKnUWeXdGDk8
   122            ZVclwtA=
   123            -----END CERTIFICATE-----
   124            """
   125        ),
   126        privkey=strip(
   127            """
   128            -----BEGIN PRIVATE KEY-----
   129            MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDsSmvsiAnm5btX
   130            6oZn9SFRUFxGepCsuiVow6LW5YPvpwKpTXh5R/B5i1cKxm/bn0zmx9gSmno6LXu1
   131            Zoa+kYx/IhVctLjx4J+mvWUNg8T1o+UrTYz0/kQg2ik7MeQ6GKrMiU+SMtSUfCYF
   132            raiPpBFdk3nglNzmGvZNmDwld0lGmuqRD2DKljyw8aRc4XNAOIWa6oI0O0HIKq61
   133            Y76nGpn8eC5RYRTfSNrS5u8LZMhzd0+8tl11HpCKD80v6Fvd4fjz0XkIO1lXfDqx
   134            24s3bYnGoomyy5HhTmCpmbUrgM6wX3by4YNPwcoXMdiswt2mmtYovDM54fgMtsL2
   135            9lCoCw+tAgMBAAECggEBANkbKD6UYES/IHuPCR/Lo2lLJP287+FEx8qStrQs/iTc
   136            lx1oCSGmb9W9qaRE39IzdD03sdimB1gdImVyZqwCn8zQTEB57NSRRx+1NXxNblMk
   137            3BQFlVYlqgNlcCzrkn+u2oBESdBS0+/6ghUFkrMoVKxeLMWlAbKLY3O4RMtH5xPu
   138            zzvFgDQ10Bfh5I9emSMaxNwafWEWBQwWgNtk6T9U+n5x9suF2g/tuA58iXkACS/p
   139            4bGkzs8fxZF03qptBZSLTxlXD0I5YTmpFT/J1EJJH6zjW2phLwXt+eimdgOXQ35y
   140            tIiQ0CL8lj/2AaRYSDOLlHPkkG3NEBvyB+CDqhUwvgECgYEA+qXEye4GFTrwlUSO
   141            k3ix9+mV8tYYPoYzSCuVI6MZEVdNDNGpDHTqgZnF5s3re1MHqakYoeoaJd/02pmt
   142            hkc258CDEcAU2Aub3g/F8IxPKAGZLs+FptPILBp9T9FYz02G1338LyqwLcSl2drS
   143            BCqlALg26bg3LJsRIROHXni4W3ECgYEA8VYq387DWzOJ1PcMMoVKLy5kIXacM5QF
   144            BJQwmu35dyYnIRn4+E3ELV2ATAAT5873jKfO16dAmJLu+JNkKFSUzv7V1RBEjlf5
   145            d24V7VTYG2jaqCLam5tuMb3xPeQMSFlmGHQXQPJN8NH3s3nYLB1KuZY8AmEyioNK
   146            IHdU6qoxQf0CgYBYK6QUHKULJtamy50UB2sjeIoFCIcyx2aWxq4KAT+6N+mkzsQW
   147            27H6sStKy7lAgq65YgCGRKG6HRQ3KcQ+7iJEWBZDUjyC22KTNR0+Rz05J4bJTrsH
   148            Ooy55v+Z6lzBX9ZFS85AkVW0Y+6ruiwSxyWQIT0/7kuKZ2oZJpOCChlgIQKBgQDH
   149            z0OoERQFSmJvhCsBGQIWlh4o5n7k5URSSi8D1suYLmpvKYXMbvZhaOx0AAx6/AxQ
   150            1A6Y1czRhbV88OsXyQ97YdnAkbtw7r2IeAiHepuB9goy8shz1PgjDtPRHiJdNEcn
   151            L9ag2vxUykJ+wf6MZ6Qai5wbjEXAEHsq7iHMOCSYMQKBgQC89QVKBumh8GJswKAb
   152            Z4j/L4vW0oMXWAdsUCnaxvyE+SZPkR81gMs3uhc6nyngqwJE7/oNa3BAIl/QGmHp
   153            aHYH6/hm+8/pmeB6ArH4pQ1qKCB5cuo94kGAHnzaUbemxI8osWVACqgCrk2aUjyS
   154            4ger59k0VB/zi8iZ+91nfDFqgg==
   155            -----END PRIVATE KEY-----
   156            """
   157        ),
   158    ),
   159    Cert(
   160        names=["ratelimit.datawire.io"],
   161        pubcert=strip(
   162            """
   163            -----BEGIN CERTIFICATE-----
   164            MIID2TCCAsGgAwIBAgIQQpF1nlgplwb7vHTwMs4uQTANBgkqhkiG9w0BAQsFADB7
   165            MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
   166            A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEeMBwG
   167            A1UEAxMVcmF0ZWxpbWl0LmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIw
   168            OTkxMTEwMTMxMjAwWjB7MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNV
   169            BAcTBkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtF
   170            bmdpbmVlcmluZzEeMBwGA1UEAxMVcmF0ZWxpbWl0LmRhdGF3aXJlLmlvMIIBIjAN
   171            BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8eSIuGhS+RYY8StWy9xZdEoVcmw
   172            LF4rk/KBhl6hdaUX6uejvoYjHxEBuo2gHmP8aFZGDpWK77/cZMzdB0LgcEubjTIL
   173            xw25lO5nKbJCNF265poybeuGzf0Jzxayt9QRQydqdIH6eSxsZgXPMbnvlm53vjvQ
   174            pQMEUFrjbImnu60AfrBTz6XUpWVsZ1WLCHXjRcXu68Vi1zPGd0O3vxRwecEV9Jss
   175            4Y16opU1ZyN1qDcjytfx0AvHUzqcNBpLqd8qsFAAcO0JNCMJEkZ25Lhb9ndCc3M3
   176            tTJlW4WRxKAjyxRB1OTJ6M5QGS6LE/+rJlv42sgzroTUvd1hvuGYSDfh9wIDAQAB
   177            o1cwVTAOBgNVHQ8BAf8EBAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0T
   178            AQH/BAIwADAgBgNVHREEGTAXghVyYXRlbGltaXQuZGF0YXdpcmUuaW8wDQYJKoZI
   179            hvcNAQELBQADggEBAADJDcx+Lmrp6vgrdLUXYYjpi8bdj5IZNKvHt8JCSZIwvS5h
   180            YbZ/RDAIxT/xCHN0pPXVtkPWXcxl4XAwQAQLjdMRsxJ8qJ0TKrN/tL6WzMDwEhTB
   181            JMyGQIp1HR0ptnI3mffuEp5B6j+Bmb0lIoGFLjq5gwQPF9FnR5ickODOagMRrh5b
   182            ykzOYp4XijYygEmad+IW6Mt1a6ZcsuWSdVKGMnWi7ZmWrrfdiFSKZGp76JYAygLR
   183            OrfKfDMreRV3+F+BMJ3Z8YG6OwXcwHgKTQovIrfW9Rs/lKq5bsAF/liesa8hd/2K
   184            NQFpksYLHrpdMyiZykhh6dyrdpnZ5GURY6nrxr8=
   185            -----END CERTIFICATE-----
   186            """
   187        ),
   188        privkey=strip(
   189            """
   190            -----BEGIN PRIVATE KEY-----
   191            MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCbx5Ii4aFL5Fhj
   192            xK1bL3Fl0ShVybAsXiuT8oGGXqF1pRfq56O+hiMfEQG6jaAeY/xoVkYOlYrvv9xk
   193            zN0HQuBwS5uNMgvHDbmU7mcpskI0XbrmmjJt64bN/QnPFrK31BFDJ2p0gfp5LGxm
   194            Bc8xue+Wbne+O9ClAwRQWuNsiae7rQB+sFPPpdSlZWxnVYsIdeNFxe7rxWLXM8Z3
   195            Q7e/FHB5wRX0myzhjXqilTVnI3WoNyPK1/HQC8dTOpw0Gkup3yqwUABw7Qk0IwkS
   196            RnbkuFv2d0Jzcze1MmVbhZHEoCPLFEHU5MnozlAZLosT/6smW/jayDOuhNS93WG+
   197            4ZhIN+H3AgMBAAECggEBAIrZzPEYafvKUdrDoL1pQUs+rhQhTM2PNoqNmlPZn1LM
   198            T9BKnhIhX8a+Eutkdzb/aijZ1WIEey2NtvWGAPEK9CBD1Cd7VzIakrMj+IIa6JXi
   199            gcgv4wlE6QhMJeUXVz8xYB2aUXH9tPMy3H/nZ7HsCJjuZ/8BM80RLlQtXw8Md5x4
   200            iLjpmCeuqQt7Z6BN/SGqxreRReD9TkKggwmdc0qXo5YyWQR28MVVVoDcyRoHXyRl
   201            qJl2R1JjBA5kVoA49EseCAiPiCMrUt0ZgK49KpC/E6+/TgZBFJzb+9sx9oF+edGq
   202            srSKm5X4BYR4hxjEMN79ZHZm3DkthO64hvaiHbo7XvECgYEAxjZuSCAMRF3s+8mz
   203            Cx0vmNCDes7dnbfblvv26rwmCCZq2SVEebuNwaFb1jLqS2f6/nYg8iKEpeGUtMhB
   204            xrTppZrnD2RJLYO1MXs3KUcCCp6Gfe3YuA/WD04O+3mz9zoiwtPA1ZF0BAXNoUp7
   205            mPYmOzQD2gUgI3a0O+g0wGociTkCgYEAyTIn7i/BmSzGa6W42AQqzpHH0ELg25mp
   206            5KELNZW/YPoWvm4XtKRCxBHOVL+Rza6GMiPnX34VBfE+zsJD8rky4K/lp2ZDZE9M
   207            rmRVcMf2/elWLIGBZqc2O2t0QcZ/ogcqgo2dGhomO1Cqr0amlZYLHqGaYruw7coi
   208            9y/UwuIKtK8CgYAPZb0NZ0fsq6s0KAf7jgnbgh8klBtNHDI3uV0GARWnPmzAb4+x
   209            MSui5gj/S7c9olcyGzUV+i55wFtP69qIOBeKYM0gOfchTQDvVhYD49s5vfTOpYJX
   210            Ugub5sFtMZgUVXTL061AKetsQJMnu2R8jmqL4M+HySwk9RytJq2qYNPUqQKBgDTD
   211            bYtehNQJ1QN4E5C7DwrbWl54m4Wbt91YipsD6YuiKoLIVnkuNsA6tzSshK0/HrxZ
   212            hB0b8KF9Ue5hLfaisQARwRV0kSnmTgLSF0Ibft+56LqFQA1Ovr84f+WcC+7PGEvi
   213            nZex0eLuVcTfr2I9Vi8zTEymUlEaGK9goNh29T3LAoGAHxAMta9XH/r92N36pdZG
   214            uR3I9VyNaQ/ZrBRlfoqQalDEUo2cHt6MImNOuWSsX+e52hvisGfm45D07Fv9jQEP
   215            Ej4bilFnyPBWCXyJsypV1ejYIQMWVCr81p8h1ddMP6hBPtzb3Ul8o//XkzaZAG5l
   216            1iE9Cq0G05xE5zy+I6Jrqfs=
   217            -----END PRIVATE KEY-----
   218            """
   219        ),
   220    ),
   221    Cert(
   222        names=["ambassador.example.com"],
   223        # Note: This cert is signed by the "master.datawire.io" cert
   224        # (rather than being self-signed).
   225        pubcert=strip(
   226            """
   227            -----BEGIN CERTIFICATE-----
   228            MIID+TCCAuGgAwIBAgIQBQjvtjWeKA0+Pge3D4oG8TANBgkqhkiG9w0BAQsFADB4
   229            MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
   230            A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG
   231            A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx
   232            MTEwMTMxMjAwWjB8MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT
   233            BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp
   234            bmVlcmluZzEfMB0GA1UEAxMWYW1iYXNzYWRvci5leGFtcGxlLmNvbTCCASIwDQYJ
   235            KoZIhvcNAQEBBQADggEPADCCAQoCggEBANQ76B73wb4S4UxU4w5Z+tCsjeuGhDdj
   236            eswxohl0+HftC/HhtkXlPlqQjAN/GljkJm8P/iBju5xMIvQws8NfrMvGmBOgCRCz
   237            BAzKHja+EjS3Z/3iNAfVyzMzy0Z+UGuCVfoeTKDD4kqR7A5dBFkQ1ROKkiUlhT/Q
   238            Fs/nVqAsz4FFWqZqS1wsJFKMnBbj4gGI24WJJLMdnRyFAyz78HOVCSOzq/BJL36w
   239            Heyu3OHHDswM5oeJ+RoJkh1EAa8wRM4lxPzyX72ClYi92Tqxbqj4mLEXeTrQi1sL
   240            Vt5vyp2qV1/R4RO/fA2kGmB3V/XZ8jtOwbP2RDvnHHbq4qdG8y685ncCAwEAAaN5
   241            MHcwDgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB
   242            /wQCMAAwHwYDVR0jBBgwFoAUdT5TYsy4k6cLeTXvwdhDB09awaMwIQYDVR0RBBow
   243            GIIWYW1iYXNzYWRvci5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAc5UZ
   244            ml+DhpSJAltQhOoQd4PjulTg8q+0Fy3sLtM1Slq2BJyuTe8MtjHEMNsKoaF6P2u0
   245            NlYPd+2I8DrvVjsUFyeu8XoImamw+xwpPVfD5MbCKPOOJCHots7hAlQ7Ztv6T46U
   246            O7vNQOQBhrRl1UyNObjZ3m2rLDJb9/WN7JIKXmbDhVXXPlhHdSuExMaup3j+m1On
   247            tcBojVht2K5xsqzOkHR4HirTwvXYDrHoOzLRYUfF3FoNJ86Mauq600E+CuhToim7
   248            LfeaH4WR4rO8AUoyG3pHZ2jFSpsqC/dQYSqIiTstrXfRmqVJMI+umAmjSgUeK4v7
   249            u991aMkRRpwSwJiDVw==
   250            -----END CERTIFICATE-----
   251            """
   252        ),
   253        privkey=strip(
   254            """
   255            -----BEGIN PRIVATE KEY-----
   256            MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDUO+ge98G+EuFM
   257            VOMOWfrQrI3rhoQ3Y3rMMaIZdPh37Qvx4bZF5T5akIwDfxpY5CZvD/4gY7ucTCL0
   258            MLPDX6zLxpgToAkQswQMyh42vhI0t2f94jQH1cszM8tGflBrglX6Hkygw+JKkewO
   259            XQRZENUTipIlJYU/0BbP51agLM+BRVqmaktcLCRSjJwW4+IBiNuFiSSzHZ0chQMs
   260            +/BzlQkjs6vwSS9+sB3srtzhxw7MDOaHifkaCZIdRAGvMETOJcT88l+9gpWIvdk6
   261            sW6o+JixF3k60ItbC1beb8qdqldf0eETv3wNpBpgd1f12fI7TsGz9kQ75xx26uKn
   262            RvMuvOZ3AgMBAAECggEAWRMznxu5Mv9Vk+Xkzjcxr7dccUep4l1cQqtqL2kKh7rz
   263            0nc7Oya1/ui/+w+zjS9keiSqMgnpyfWijf6K1CspqPUXCtWWOG4J+xwxhiRMG9gG
   264            S2ZPFCLFAB5y6IlHU3gGgc2Jt8e/CDEqc/TSSFdqNqNoJzMSM/AwQt4DW4KzLLud
   265            SbtLz34XZ+VUO2Yv3DfCuZiGHd5uMiVz9qaZDTxWY8tHJ/BbNJc4l63j/+aHh12T
   266            ro0bgBTwY7Fn6vU7hmDTEKYrwNb+MQJNJ95nbbyfy0tfpYCe09glk88CAqjlAn+j
   267            aQUN8k90Q5lc5MsjUcA2VtyNhHFQwL7xsGZmxTtHYQKBgQDiF8pjScbdpxKZwc1w
   268            xnGe2dPSy6wHhvKfxQR7ngn0YOUvYFtB3FQnykfiyAE1HlCb1z+Vc1qA5+o0mNl1
   269            MAvKBLvsfTfym/Rc0Z6KwB7JUYfcj1doub3tOzXe3YP6U5WDbu9ZCv5pyH0+IxMH
   270            3cMUACL/mmhGzrV0OQP+MjgWXwKBgQDwTs9bsgf+CaN67S4DweXTi07e2Lb+6oxu
   271            RpramV6YyimJus1hT+nPBIpr1bu6wvbEf40tHok9K0hOtm2u6ovipVTE09HzlHVe
   272            AxKPz0ZHZdw80UtqeeypbblMjA8i2NrUIppaAJrxsjBpi9HXRxUuIT/XOfS5rfHW
   273            5jXJMNe26QKBgQC3Ulj9Jq4DvVs8psLAZXdtOOwjKJflRotl9qbK4PrrVsGeJ3/3
   274            KAJofQDKpicsfdcYdXCN6omAqgrh+OmhtoJonGwPtfxuT/vUYvctQ9fynpQNx4A1
   275            Xx3bxD3K5kwD5k/90S5rQZnGBhVfE6tznmF1zyKRpA5XE3ZXtX9CVk/Z+wKBgHCp
   276            MhPWKmMSF7+41HrUe7AqvoZBacGnKsFEfrL/dlcBaGn21vTJZ18zzMVzhbiwUMqc
   277            1g4SI9s2oIauhkucEIroYg6JFAQzVLcHj7s2PMeaXJ9yq/22PZrNIzNc8neu3SDZ
   278            PC333Kx1krbY4z8fRzHCStDXjgFDKH9MnGi/alKJAoGAHLVWiZEk1hoq8uEIlOoO
   279            JfZVq1GUEtd/mKLItPw/YmsyiLBIzE1TUrA6u6kRTArUQ8xDg4wViRaHn8XqyUQ1
   280            pOuckxNbJvNoDCABjqlwd9q01FEJr1hzJVWbBwFiY4JP93HnPONzozQqKyphbTX5
   281            X8bZ73WeoYIMAm7iRjipOoM=
   282            -----END PRIVATE KEY-----
   283            """
   284        ),
   285    ),
   286    Cert(
   287        names=["tls-context-host-2"],
   288        pubcert=strip(
   289            """
   290            -----BEGIN CERTIFICATE-----
   291            MIID0TCCArmgAwIBAgIRAPikCBC2umm+VI5L8KKmLhowDQYJKoZIhvcNAQELBQAw
   292            eDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
   293            BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxGzAZ
   294            BgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMjAgFw0yMTExMTAxMzEyMDBaGA8yMDk5
   295            MTExMDEzMTIwMFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQH
   296            EwZCb3N0b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5n
   297            aW5lZXJpbmcxGzAZBgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMjCCASIwDQYJKoZI
   298            hvcNAQEBBQADggEPADCCAQoCggEBAMHJ15I8OdHgPqPwhAq/YwNbsl88FtjNQCpB
   299            ppOIrAb6IumpE2buGruXDweVYREN4ECBy4NXj+zbLfp0jP6EyNq7CqDEaM6MaEmI
   300            4uBrpKAB2Ac4qYFP1CMLP2fYvRITBg0SHJfZKx5xsrdnsjjB7RWFmudQ6Xio2d1R
   301            MM7JCtHlDPXZP0UH2x8Y9zLCZhyFDASIe1Pt3Y+Dp6NWYY/tKUzHSXugYPcZhRj/
   302            0d7W0/VXF0s6xOS+Gpmwq/XuDtb8zpJ3xxyitLHgb/TVS6fqo48HBNZ795R3fhG5
   303            x7QVwJwqIi0oDA70Dbxk2t9PykaclpN7KdBk47H4FwHZFbU2zJkCAwEAAaNUMFIw
   304            DgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC
   305            MAAwHQYDVR0RBBYwFIISdGxzLWNvbnRleHQtaG9zdC0yMA0GCSqGSIb3DQEBCwUA
   306            A4IBAQBDhJmvIOaLamX0+jRQevCJTR0/YDWsOGPBPL+HSDhS1iGNIItU8/66whmX
   307            3PGXt3DyRxLQLIzzn0WzsvYMblTORdaTXhksWKWnemSyP9haMKcf5JNAwJXhpXXA
   308            dQ3C0yGqU2lofgDG4vigrJcivprzbfGWbpPCZvEssIqmZBAX87UEYI7hx6fTSNLw
   309            ib00RaDXOD0zbENCrBqxZtztiXQS1vOwBFAGdlSSoYDnmTxql8EHgsseOOawk6Ax
   310            TElNS4hjBTwQlporw1QZwgDVxyXZBGdik8J+RBkoE9jHF5Rs7LhCVt7Fz9TH1jyi
   311            IXSyvhHCDXUoao7JhkQ6luPPYaUx
   312            -----END CERTIFICATE-----
   313            """
   314        ),
   315        privkey=strip(
   316            """
   317            -----BEGIN PRIVATE KEY-----
   318            MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDBydeSPDnR4D6j
   319            8IQKv2MDW7JfPBbYzUAqQaaTiKwG+iLpqRNm7hq7lw8HlWERDeBAgcuDV4/s2y36
   320            dIz+hMjauwqgxGjOjGhJiOLga6SgAdgHOKmBT9QjCz9n2L0SEwYNEhyX2SsecbK3
   321            Z7I4we0VhZrnUOl4qNndUTDOyQrR5Qz12T9FB9sfGPcywmYchQwEiHtT7d2Pg6ej
   322            VmGP7SlMx0l7oGD3GYUY/9He1tP1VxdLOsTkvhqZsKv17g7W/M6Sd8ccorSx4G/0
   323            1Uun6qOPBwTWe/eUd34Ruce0FcCcKiItKAwO9A28ZNrfT8pGnJaTeynQZOOx+BcB
   324            2RW1NsyZAgMBAAECggEAEdVQSD3QmFbJjO6iSBbqtrFmjcsK0zK4N+tIuAT4x7+X
   325            HOeZSHya6y5wjKMbhqU/QNBw+QpCzWoyJf05yGZR0Ycq6DaK6o8TPckiD8L4KF1j
   326            Eu8M8kB1ZjAvyo+wfoxPnz5OcU7j3+5YovYg+YYnGjbsVWMlyRvIyMwi8LShkUUY
   327            0syUnZRrz/eMpagByLQVCL3lBIYmpSWAH2Btxix8Z31n6DetklNm3hjgXHAmVz/R
   328            MntFYwARt+ma/pUkL5khCFL9ZSoxeOqEyNjYmHF1E8x2hWYarXJqdy2i6WQJ3uaS
   329            LyotZHoHiP4an4/DNl1b7sf8x6r73kf9CsHjR12qMQKBgQDXZDz2Ik+KJJmkCPyk
   330            VWTU7IddPJ1+I/xccirNRKJ1Dtm9zZQXd/gxrH3hFVyyRhYxOtUAbU85h7KUpOz0
   331            /bI/BZph9GbfUcYzZ8otCYyakNUARE6auhR6IWPF7Qu4LC+NHg+k6+JeWHOzn0BR
   332            ZXbJ6phe3U/ZNtayjratuT1P7QKBgQDmUvDoeefBfW6d8lnWSs2fsQe1BB7fN2Wf
   333            HZ78u0HD/auxY5zqCEdZujJ1rSScCxpWaNaDYhruJRSB2e8HObfg3DKvDSt21yru
   334            WO8LCcHDqmGhVb+BdjUBlDiLbuDOM8UNc2zvMgj7n/pWl94dkd/KiAj4uPB4lAK7
   335            Ts1s0ABh3QKBgHFldW7D24pIAJdKn+/IgWBT8mQU0Hmjam4lMQGGe90S53G0tJ2y
   336            bHmCbXc9ruKwYWijp5Yk9ku8dDkrpxDIK7pgMcoWSL6Tp7xSjS8u0tZhH7KXQ6bU
   337            BonR4FxIkx3wLUynIedaxH+VI7zSP6NavrJJDtUKwMoDw/6XgfduCah1AoGATKyF
   338            yE50yWPxRCFeqMjkJOoxD6CcimCNsueQer/3x8AVvQrVPM+euQ8UJzqJemzzyppB
   339            9yDcqDSt3ABp4zTisrd7I+01b+13PDtc8IbB+1ooACZkhzuLr8fg/wHdUqfHTJAF
   340            TqeQd/uswdDyv1NFdc3NdsdSPkG/mw1Ds5qW1f0CgYBszqC5WhSgtwoEZrN2kzsk
   341            nnXAku8V86eACyDCCnl03ZTa5PE5sLlyrTCA6umMa8uerVrj4D7zcRX1G/ZGRkxd
   342            p/mLW03BkBWSuN5cw2inh8ETWFL9as8QkHgnt7AHkbTh4SDmrmvDOGIdfdfHUumU
   343            zz6gFsnFyr/qOxYeVD7NWA==
   344            -----END PRIVATE KEY-----
   345            """
   346        ),
   347    ),
   348    Cert(
   349        names=["tls-context-host-1"],
   350        pubcert=strip(
   351            """
   352            -----BEGIN CERTIFICATE-----
   353            MIID0TCCArmgAwIBAgIRAODFxyVddaWLWXd7RTBqcXQwDQYJKoZIhvcNAQELBQAw
   354            eDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
   355            BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxGzAZ
   356            BgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMTAgFw0yMTExMTAxMzEyMDBaGA8yMDk5
   357            MTExMDEzMTIwMFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQH
   358            EwZCb3N0b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5n
   359            aW5lZXJpbmcxGzAZBgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMTCCASIwDQYJKoZI
   360            hvcNAQEBBQADggEPADCCAQoCggEBALn/ay7m5ZnMLoCt0sZi0UO7Hh+v3XBNQt3g
   361            My5XT+Dvv/M3PB0/rL4G3VAXUNtwKlgHLSGxq6V4UqcfPVqnqajWNd1/zsHYPeVz
   362            R8xBIwyx3tydMcWeF4cETh8/UmL+cZVT0HO4lGrYlI3PbdLDKh+uDfBgmQzxCzhI
   363            fK8KtjHrYkXZEsVFjJRCHXLG4I+8Q8yJSuFf8J9V3mtkiV/jU4ULy8Ikw1Ga+MQl
   364            xQX5y2eYrnJ50+qXrEFEh0DiGZMxZlFnFkjFpbJ2xxbhEBdyd1zp6tEaig4xkcR0
   365            2JQOaA2WOfFgBLvlzjSBL16g46CTdsaWIjD3cFjkNL2HD6iGofECAwEAAaNUMFIw
   366            DgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC
   367            MAAwHQYDVR0RBBYwFIISdGxzLWNvbnRleHQtaG9zdC0xMA0GCSqGSIb3DQEBCwUA
   368            A4IBAQCXDfJV+IpQ0M746b5r7s0qM2rxsMUo+NNN9y+4ZOh7tNATx8JFPuRU5/jZ
   369            Sbhfp43Ohh85iw4//Ja1Yfh+h0wX723L+ZoTC4tEOxpODHAaew81e70oRcXy24DO
   370            bjKtvAzLl0ozcrqg07Mt+YijPfQqtzncb4Mq+FABwP1V0tq9iI6MoGU90hVKSEZC
   371            3AVl2vXlAULHvo4FmA0uyDMzmRQpkMylu3K+NBJsfDtImRVdY25NZ7B25rgCCzBH
   372            aB8yMnL7DxPbN/oAzGONIyd/cFB/nY0waUehn7oWQ5h6DfGpUl9fFFqe+nsYu6dP
   373            T2xM193Qbf7uKjfm5fuezhJ/Jp9r
   374            -----END CERTIFICATE-----
   375            """
   376        ),
   377        privkey=strip(
   378            """
   379            -----BEGIN PRIVATE KEY-----
   380            MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5/2su5uWZzC6A
   381            rdLGYtFDux4fr91wTULd4DMuV0/g77/zNzwdP6y+Bt1QF1DbcCpYBy0hsauleFKn
   382            Hz1ap6mo1jXdf87B2D3lc0fMQSMMsd7cnTHFnheHBE4fP1Ji/nGVU9BzuJRq2JSN
   383            z23Swyofrg3wYJkM8Qs4SHyvCrYx62JF2RLFRYyUQh1yxuCPvEPMiUrhX/CfVd5r
   384            ZIlf41OFC8vCJMNRmvjEJcUF+ctnmK5yedPql6xBRIdA4hmTMWZRZxZIxaWydscW
   385            4RAXcndc6erRGooOMZHEdNiUDmgNljnxYAS75c40gS9eoOOgk3bGliIw93BY5DS9
   386            hw+ohqHxAgMBAAECggEAd8TSZxRFuuBw/Wlw9VCCgkPGpQ7g38TQjwEk0+1jQWwA
   387            xYPG0OrEuGTBNCafaX5ztdWBKVY4OkgdqQIDxxF5vX+alfQL1mUBjnPKQuuavzz2
   388            Tkdm2mLvsYCDMbnbumUwDME41JuB7r9iAWMVzAbiZB33WddKFrxMxkRfDXQvWDqo
   389            RGl1U4088tjTHdLWUxa+f7U0KbDicaFDO2BCjW2V9oXQr5qyERbFTlsujVHVG8AP
   390            Jun5NPnZ5+32fnsdbxOaP99uwAbSwS+moy9pWOikan85k6fUp3sDwYtsidp0v+kz
   391            hRYT7wY/TmYQxnk5e64QGhkRaJm1aMUGqxCE0o/F1QKBgQDB7NsX4sCURO0SQci/
   392            fvc6Rgyh4rCwsj5VPanvKm9jLZdslNKiifytQm/tUXUPyqfIgxIMZzSW0Vf8uqFD
   393            JuFdBGT4S6nruTpBtmb5JAHn50ijSw9MS5ik3d+2sByKtiVHlxl4mvrLX/u9d2VX
   394            OIk8xfOilYd6/EnIaPGW3XCRewKBgQD1iPJ3y0a+72idD8AKZxEux/9rAtC7/sIt
   395            2RcYIg1kr0tq5PeDVrcPlXuy1OpvsOEuZWw0+m4QdUsaycv6i9OMunZ4IsUYphi5
   396            suqXHaX+4fsPDdPRiYEVcZ//F8x7Ii4hgObMWdR/UrCnSeZDkGB9RpbXmwe6k8js
   397            jq3GFRWQgwKBgFw90pUQ+XNNOcrWWauks+oXCcky78KMdhPLqfomICd3tzAhtfM0
   398            WWj8Ugr7FQh258n7dmlJ6fzXBNgk2bH8W3QINBLawq9qQqihH2fgVbu+CpIJkPRE
   399            fQ3mr5PRPzJHo4HjAG2aojJ8rFyZ3y1WqgirS9EI+RFp0ZqvOEL/f5zjAoGAHH4A
   400            zP/svLlhZWBvg4WES+5vaEaSXE5q0BEyCd3huf5RfR0Gz9nfMlLBYPYuIjnfV5fz
   401            X45z+TrzNS+XmQJi0SDOIJDAWGTl1564dEK/gX1Nueh73QPc09U0oNBtLRjBS6f+
   402            oFYIP6Ij17XOn6aAW+k2Fdzqn68IkNLZvXOy5esCgYAzYU1RChYyRm6rj4oJk11f
   403            iZKJFJEH1BfOVFA195qmK5XJgFUu98whNE2cR3RFnw2DPpC/gZ1heMaS7ILfZgRf
   404            F+wRkbZkrT4HVBpuBFYNvJ2gVVn5UDFMVphMvbo4fKFkK5eYWAW6y2bgqa6YULJr
   405            H3vWIJXEkDm38yyCC0DO3Q==
   406            -----END PRIVATE KEY-----
   407            """
   408        ),
   409    ),
   410    Cert(
   411        names=["localhost"],
   412        pubcert=strip(
   413            """
   414            -----BEGIN CERTIFICATE-----
   415            MIIDtjCCAp6gAwIBAgIRAKvvNsSxC7ZhWVEH0GreQJMwDQYJKoZIhvcNAQELBQAw
   416            bzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
   417            BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxEjAQ
   418            BgNVBAMTCWxvY2FsaG9zdDAgFw0yMTExMTAxMzEyMDBaGA8yMDk5MTExMDEzMTIw
   419            MFowbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24x
   420            GDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcx
   421            EjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
   422            ggEBAKaXYav/XFMz1C5Rkjvi+nMaQ6zk69xLb6LuF/q0K0/uHbOrxcBnMc1p1dz6
   423            z0Bpy5g0gnrgU1BdTA2mTufyvIJXnNqGT9JcUhOAuJLDVEiWgbycKPKT7vGnqGPR
   424            CvKzIQTGDTuLdjG8hULyfiMZz9eofiK0Ay5oXA/kIxl3PncFfGelD3NMgdsDyUtQ
   425            wppb7vTRd3rIq6odEjI0Kugo3Nl3oA/rig4gqvalMAV4wMz51RywWJ8Df8hiUHB6
   426            HfJa20rMOmDMQpR4U3E94Sox8qRbhPzFMuagW92udCGZP7xfbd45u5taJmNErM4/
   427            GF38neoFV3mGsa8ITJ8V3m0hVeMCAwEAAaNLMEkwDgYDVR0PAQH/BAQDAgGiMBMG
   428            A1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9j
   429            YWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQAtEWj+ZkNiqMNcOvsYo6zIxNxmDoGX
   430            R1HfK02t+/VbnfErcaYOREbIS8YhidG8KO8Wo0GbjeHeMfotbn9ncevbRjxzfGzg
   431            26r8Vq9ohaQwvvsCfYJoESFRHQ5YWiEdylL1a1M8T5GOgxd8czPwaCBuPxAn4POk
   432            VfeI6wDo2maGn4uS5PjLeWEQAT6A6BGVlT7KOrU5HAZwRLH7mbq9mx2dOgtxi7RW
   433            //snN8jx3968ag0twjqOtOYYuam69ptRg5n1Re7zUKfCgJcar8BGL8FecDnz/n7V
   434            1fNawOgbbpY+NNGvU2t3O89TDy43W6LyEGznvG5/EEVwiSfa2bvxpXrT
   435            -----END CERTIFICATE-----
   436            """
   437        ),
   438        privkey=strip(
   439            """
   440            -----BEGIN PRIVATE KEY-----
   441            MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCml2Gr/1xTM9Qu
   442            UZI74vpzGkOs5OvcS2+i7hf6tCtP7h2zq8XAZzHNadXc+s9AacuYNIJ64FNQXUwN
   443            pk7n8ryCV5zahk/SXFITgLiSw1RIloG8nCjyk+7xp6hj0QrysyEExg07i3YxvIVC
   444            8n4jGc/XqH4itAMuaFwP5CMZdz53BXxnpQ9zTIHbA8lLUMKaW+700Xd6yKuqHRIy
   445            NCroKNzZd6AP64oOIKr2pTAFeMDM+dUcsFifA3/IYlBweh3yWttKzDpgzEKUeFNx
   446            PeEqMfKkW4T8xTLmoFvdrnQhmT+8X23eObubWiZjRKzOPxhd/J3qBVd5hrGvCEyf
   447            Fd5tIVXjAgMBAAECggEAe+60j9M6aP9uw0KV6o1ySnzoidAIE2vfUjOUjULJ0f3Q
   448            BOEuDXP33dv1aR8BXecWulWeGDGYaXnu4Vyu6OlxCfqJyxwOd+2MdcvWBADiS9oE
   449            DD+UStp48TgMEq3qWiGe18FLCNg4hsm7zdE+u3gxYjuMEt8eWsDydDQBVKmcQ8gS
   450            cuN0CIRu4unj8rEUs0Zp8hLhaT+1B5z+iLwrAhRn2KiPDiYICx+TyEZqxWf8LyXw
   451            QU8yeeP0DV9K0um2degMKylEXWUGqVt4/KAhww12FW9DeUkDpin7/wyx53+X5sn1
   452            SX6nPC+9HwgW9xWx6YoIYtJO3YyRqPzptivdCY65uQKBgQDX1CvIv6IYsAA1XfHs
   453            Yt0ZFeorkAE3nWmJTF+NCy1Ep8agHx75LoE/JWVzxZ/EmQ1iyWL6tcZry1bmpqcc
   454            cjygkbqRdpn0XFA3NbSvd2xC/D/mIAdkudkb4z+1rGoTlx25y7eRGvyGxJGp+TBS
   455            IkGy9L3+4En5J0dJI79iVRluLQKBgQDFmSPKC0hJvZGTDXPNCrdtQfGmAjkarM6N
   456            5zUx5sCTmBgzCtpSZOTTc7tv97Aa4zFa7/H9QUPaEjABL+7BC1lxDnhUgXKG75Xg
   457            EavOFIuN8TOgn6bWxlKOeghUFlEEQkXjSjQSuL469uEPYshFyyztdqdDWCWNrmmE
   458            TD8DSFVuTwKBgH1JsVELzXE/Wh+gtXtfuLGDQziek9ZRDp6hMyaRQmoEaw0wg65r
   459            DKQ3dTlLk39wyZB7D3YyZ0jT9VJXk9KzjfY4InGmw6BSpk4mYwko7jPEcuOH3ELg
   460            j+Pce3Ne7wUISD0+wQT/AXDKUzS0bxR+xly4LkLyuH5mCr+ufL78X5LRAoGAJf1j
   461            XBz/MO45ZsRXVzyQN3lONFSJFg/TRoUFPSrYK4g6XtXfU6gCNoUxrD06pnC3tHwd
   462            UkuR+AM3J4NHq+W6tHnLuLOKiVbWwdWj6mMY0ZlmC6OmN/S5OptLrp77xI3ZUfGa
   463            QV8zc7KzYnnjd0eww5bkYZY44hx+POlL1B28DxECgYBs895ZOJRrDaqyeR2XGhqJ
   464            aYGPMfsDqCjh/T8RsryeT1kBK0qdHopXqz87k7o4n9+Z6oM8SeC/LZpo+a1tZMWW
   465            g30DGGSo+r3TTJ4JSR1bd27JxN4fnNQhXj8iYqx3LWhMk5Tij7vKRKsmKnOipQel
   466            U+AaexDnvJXPx0dlMt1ykw==
   467            -----END PRIVATE KEY-----
   468            """
   469        ),
   470    ),
   471    Cert(
   472        names=[
   473            "a.domain.com",
   474            "b.domain.com",
   475            "*.domain.com",
   476            # "localhost",  # don't clash with the other "localhost" cert
   477            "127.0.0.1",
   478            "0:0:0:0:0:0:0:1",
   479        ],
   480        # Note: This cert is signed by a cert not present in this file
   481        # (rather than being self-signed).
   482        pubcert=strip(
   483            """
   484            -----BEGIN CERTIFICATE-----
   485            MIIEADCCAuigAwIBAgIRAOLVQpFEw8jDIYlq6bNFTf0wDQYJKoZIhvcNAQELBQAw
   486            cjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
   487            BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxFTAT
   488            BgNVBAMTDGEuZG9tYWluLmNvbTAgFw0yMTExMTAxMzEyMDBaGA8yMDk5MTExMDEz
   489            MTIwMFowcjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0
   490            b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJp
   491            bmcxFTATBgNVBAMTDGEuZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
   492            ADCCAQoCggEBAMfFoFKTH53p+WGbBOCh2XbSQKLGXFbO+EWzr5yKTfYU1P20VG65
   493            jjHUwxH2oa8gZ50gBEYHKyT0IE3nyrCEiZi1AjjuQN7xTHRY7IAdf0MNZxavJuDv
   494            FHdSHmdjLjp8mOlAVzYPKfWoOPdRPeKqTdbJut+a3b0V6o6TPb1kIeU2MrkKZ+tA
   495            zbw4nLanVAPqmqIVUPTff+mkD1qLl9yH66DauzZ6OVC1G32bj9kh4bQVlZh485O/
   496            5FSyMbk22uCbE4jQgG+dTGYtUemxJZ/2Lz3ksEWdw7JQEnSRSX5iqeq1pthdcFr6
   497            EN9qufVqV95/hhOyz3rRcbbi4gY38rXBX10CAwEAAaOBjjCBizAOBgNVHQ8BAf8E
   498            BAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBWBgNVHREE
   499            TzBNggxhLmRvbWFpbi5jb22CDGIuZG9tYWluLmNvbYIMKi5kb21haW4uY29tggls
   500            b2NhbGhvc3SHBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwDQYJKoZIhvcNAQELBQAD
   501            ggEBAMbiTlwgpUWjHBkDyIU4V1xfnJE1WR4dRxwzsiTV9wLvhFUU092n5jt5nJB+
   502            zw5ntR+o/P3ZnmZQODzle82992FVBcvrP2hO17SBXCur2b1nhGBaR65Ep1YTCswZ
   503            6HMogITRi9stTFpgKLeE07Zfu2skadvCpmYK+K8JSUWVgYVIBYBELhFlVbThEbH5
   504            f8PWs1ht+mf2yye5YJ4qWm2i5PFc4a5RhCyAt1taKEfUNAiY+o5sY3MDqvt/wDw9
   505            hspcBinogqX5AEYfSLqJl52KmHXYYVUxwfXsjQVVOoVtgZPkGr/w6uG/28CugkeF
   506            Z2qUdrALX9d8OSyVcFFHsTWU+ws=
   507            -----END CERTIFICATE-----
   508            """
   509        ),
   510        privkey=strip(
   511            """
   512            -----BEGIN PRIVATE KEY-----
   513            MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHxaBSkx+d6flh
   514            mwTgodl20kCixlxWzvhFs6+cik32FNT9tFRuuY4x1MMR9qGvIGedIARGBysk9CBN
   515            58qwhImYtQI47kDe8Ux0WOyAHX9DDWcWrybg7xR3Uh5nYy46fJjpQFc2Dyn1qDj3
   516            UT3iqk3Wybrfmt29FeqOkz29ZCHlNjK5CmfrQM28OJy2p1QD6pqiFVD033/ppA9a
   517            i5fch+ug2rs2ejlQtRt9m4/ZIeG0FZWYePOTv+RUsjG5NtrgmxOI0IBvnUxmLVHp
   518            sSWf9i895LBFncOyUBJ0kUl+YqnqtabYXXBa+hDfarn1alfef4YTss960XG24uIG
   519            N/K1wV9dAgMBAAECggEAd/8nrDIffbV7TLvXFC9j9tGYba4E7UfpLcUfKUKSTcx5
   520            m+NkDBZ9aUVJ31JsEEvAsUr4BjBsJAhYFzOyNpGGLSodKaFDaic7K2/2r4YIWXiF
   521            gcS378jsXDgBd0zGCe+p0gIJ4Lj/FUZ04Wn1aF+v3eLS01ms89VkTTv4i/jHu2vg
   522            ygGFr0iHZtZD6vPoo2ElJswlJU9K09EmQuHHV2IUsL/j8hGhwPrTt3qtf4SuamOP
   523            vjdwdOD+V54tq8t9TmoZSn8YcrRX87yNkIDqu/+GlfN8T95HN4i4apjH3N90srpG
   524            +hWN5L7hNcqLrDTxVpy/l6hTyItjBHQToiEojJBC6QKBgQDXEdcejHh3DlOjWOnl
   525            o3Ykm8deFG/1tIy1/8CgCnEULQ6xMstFlmTdw/xbQDt8UlGFvUgPuMbr+EdJZWw0
   526            0vlb8oGEvvLcQUiDY92AgZ3eozBZCl7kG74kglls2kwF1faLA4T7OCCGCkDArsYX
   527            QJ0G0inbiI+Fym1XKU3B5TBUswKBgQDtynvm5T0dyBChfRym3fqJt1/vxZM9qLP3
   528            85ATI5bppHz/CZdIMuBsOFaV9cNA+9Y7DRMqqKRvbaW51/CD8FHZKkbmc84LbIqW
   529            bvIflBaDUZVbv67wt+5j9+g45VTqy1Ve44ape+KET+46G1Bq8Q76DrHIaLkPjG16
   530            YgBmmNEjrwKBgG5gB4j0Cnb/cUkpvpBN/bn4AK91yafNy1E0OkVoVnRGU335VX0X
   531            HBj8Fi02n9DD5na+l5cJ+3zq5Jr0ZD4P8E2R/YqE/Nqw3mgf/nOPEdhK4+sueViU
   532            LFdMVlyZA98S2f6qBbtwKLDh3i2FBMC2NmBjx3uVcCL3qnnLBs71soIlAoGBAI5t
   533            V6VG7UJnUL7JR14TWzsdoNLmzniCEbmUI1mzWXL8WPoRbpGKF636WLJdj+Pec8TO
   534            4goNFODBFiCoXKFKUlv23JywBFwHWUMdlNyhQJLLTOC1gT0hjiJGnMtnYWN5Atth
   535            AImHcHe7wH8BWTuUw1m3b3kQcLgFbpV9GaxaH/p1AoGASeePrkCHbTglyhIPlhOO
   536            ZNv+1U23IiUa1FWov4XeRy2bPcHS+QGr4PLBierXJLh8BRrQqKr5UaD9VUKXcRQ1
   537            t3bmXzq1pvTTmGLeU5SHgu3E8Q0OmXg81JBhX2zFd3P4eOzg48rWs7u/aGx48SmH
   538            PtJDgYlU/MWbf+QJ5TVqEdc=
   539            -----END PRIVATE KEY-----
   540            """
   541        ),
   542    ),
   543    Cert(
   544        names=["acook"],
   545        pubcert=strip(
   546            """
   547            -----BEGIN CERTIFICATE-----
   548            MIIDqjCCApKgAwIBAgIRALWUzAZFlexRsIL3jbWaQeQwDQYJKoZIhvcNAQELBQAw
   549            azELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
   550            BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxDjAM
   551            BgNVBAMTBWFjb29rMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkxMTEwMTMxMjAwWjBr
   552            MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
   553            A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEOMAwG
   554            A1UEAxMFYWNvb2swggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH84PT
   555            Dc2PZ2snbyKfQFG4AxSHu1WVUHn4rawwiP2i71oVKqTdm7SCb6vR2Z2194nvyOgA
   556            AwfZCtgafoIY+lVakScttOkwqvFFkUIPt7K7uq7ovzDfRiAmNKWg3lKj3gCmJ/SB
   557            Uur4jeys6HOMmoBpy8tKyCxnkYj029DedzXTjWuHu1LS5ZdJi10bZSEC9dnU7Dhp
   558            3lWD4EsMfm+uvr5C/h4mVjKFnZL+4MDbpj94TaN4UwQRZh//kutsQgc0vS+TRgtS
   559            fzi/rS+A+UpEGASx1e3w3EBDMoPu1c41GF/qKJMjD95xFi2GLNURlGqM6mnHVXSH
   560            w5W6CxjY43a+bdsVAgMBAAGjRzBFMA4GA1UdDwEB/wQEAwIBojATBgNVHSUEDDAK
   561            BggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBAGA1UdEQQJMAeCBWFjb29rMA0GCSqG
   562            SIb3DQEBCwUAA4IBAQBuqhTs/P+rSDX4NXnebnOLBkWj010Hh49nmOqoGXCnhJCe
   563            Pe+if4uJSyTUTBv6Wot/3mK4NOq8k393NkxrZeooPJMQuKP6DKf5TOkgncmjldv7
   564            ceDi/C1Hy9ndFUjCqyMK96X9p1T23nkcWzzYihvW+3LseYOOJQOvewmIb7u5EBBt
   565            1n/PnpqOuP7Z1Co9I2/5wQmBHSk3RAR9B5q2MrATxoDNzB7aSeRjG2P0y1A91z3a
   566            eZRtgJ10FZuCxE3C+AhSKUC23ltGjLiscVtaqS6Z5o4W+brzSKf+kFgnSGMc2wL2
   567            atpbBOSUtgfJC+PgzkbAYXRgRIxBZRgN3wt18WIZ
   568            -----END CERTIFICATE-----
   569            """
   570        ),
   571        privkey=strip(
   572            """
   573            -----BEGIN PRIVATE KEY-----
   574            MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDH84PTDc2PZ2sn
   575            byKfQFG4AxSHu1WVUHn4rawwiP2i71oVKqTdm7SCb6vR2Z2194nvyOgAAwfZCtga
   576            foIY+lVakScttOkwqvFFkUIPt7K7uq7ovzDfRiAmNKWg3lKj3gCmJ/SBUur4jeys
   577            6HOMmoBpy8tKyCxnkYj029DedzXTjWuHu1LS5ZdJi10bZSEC9dnU7Dhp3lWD4EsM
   578            fm+uvr5C/h4mVjKFnZL+4MDbpj94TaN4UwQRZh//kutsQgc0vS+TRgtSfzi/rS+A
   579            +UpEGASx1e3w3EBDMoPu1c41GF/qKJMjD95xFi2GLNURlGqM6mnHVXSHw5W6CxjY
   580            43a+bdsVAgMBAAECggEAGzMKBKTFCLPlxKh+ijFCrIhmu4wFOVmILgbZ/IQ2FHsA
   581            ww5Y/PhYVsIAGnzC0mUI84Bd5tqCr8ik2v3IjsNG5xoFvVb1vbQTPAZleSPhAV6E
   582            uo5/hG/Sob/ZpAd6MGZbqj6XKRxxcDxGLMM2LLM7sqiRT+vo9nG6sqxQPmLzBILj
   583            wNqGaLh2OMcue8Ohnze3jNpQzmtpqFxPjtmzu+Le0BITydq45YX1WLf5SET+9set
   584            GMuzLaDpVPdt9e6K/yhz/WDMIjJy/SCIBZ5eVMjgCivifqxa5N04kmXdsnCAF0B3
   585            R3SRWoQImqOE/HytlJi7z2icuHLG5EoCEhQaDWNLwQKBgQDb/h+pgI7WxtPLKXQb
   586            CMw4/+vJirW1H6aKUTIRH8jr0gcXPTHIUbHb+pt/VnUgM7eMM9bpwljwR6TUK0u2
   587            9Zzdj1uYwzAO3j77kripx9pwM+0TyFbFdy0lpvKNt8KRbzw+719CiySz8s3bywZA
   588            s3hIjsjx5Zny73zTSOGTwTkRUQKBgQDoraNg3XDxO/M71BLs6auLZNBCDd9tmZvg
   589            Zn5Ytlc78bqkXE5Yy0j8sKuKgiszM/hjWbYjSZByXvnPFLnBFDZP896wJ6+6np95
   590            gR8ssw2D3TgPPMyI3IAdewSH1tYQax0SpXc2Pg96tHoBhE25P1lAFgybac7p1PQk
   591            /xpvTvMchQKBgEdDpSIVoS/2LLnNbe0sBmwYi1s4cfCAlkSMVPmzIDU0TlO64RuR
   592            S1qFbkXrzflmh3kFegMzj/gWXVDVzasxGWW0gOmVoUXPvPtl5igps5tRVuVnqqRB
   593            HQDreftqob7XF98TT/qQdI1OhF1FAXuIJ9jpWDL0O9C0v+z52QkyOLhhAoGAdhda
   594            qlj5b5YLtzvFdzSJei/qevvrgAbMVDHwwjmZQLVJEw4+PVa/bnCEP8IdBtnDoTjw
   595            9ivqAgIuK2nLdTE6941AYoth5weGzPY5ykf9/gUS5Ljo3jV7WHsNK5xf/OlAUixk
   596            usT4ukBLA+YQRIrgU2RddatX9tm8J+LJmeCqBrkCgYBzPY2znrzX2hXjipnPDV7O
   597            b3bvIXpxUi5vyWtxhZvFSGk/DfqnkuTsqzDNTtJ0EapZzo9LkXnbH+a9YlzJWufb
   598            4pgFcDfdX+vTmtbMdBGqnx/B0feuznMmVmPhmx1PQVAIbfUwDFBTCCBVfQbUoMse
   599            6eBj+TYOBwogTQvgqPygHw==
   600            -----END PRIVATE KEY-----
   601            """
   602        ),
   603    ),
   604]
   605
   606TLSCerts: Dict[str, Cert] = {k: v for v in _TLSCerts for k in v.names}

View as plain text