[Created by: ./generate-chains.py]

Single certificate chain for serverAuth which is self-issued but which
does not contain the signer cert.

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            73:f5:5b:8d:17:9d:ba:8d:59:71:5e:38:1d:d0:01:8d:84:75:bf:49
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN=Target
        Validity
            Not Before: Oct  5 12:00:00 2021 GMT
            Not After : Oct  5 12:00:00 2022 GMT
        Subject: CN=Target
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:a1:f7:b5:df:d1:da:50:b0:ad:3d:2a:e0:1e:e0:
                    b6:fe:1c:12:77:86:d8:f5:99:90:a3:01:e4:4d:0a:
                    c1:f6:c6:a4:95:89:8d:2a:79:9f:9b:c4:78:17:9a:
                    c6:c9:48:44:39:d0:ef:25:31:7b:87:d8:fe:cc:6d:
                    fa:db:06:46:41:1a:7c:a3:57:49:1f:be:bf:cc:fa:
                    61:49:bb:03:52:2a:14:14:57:02:05:87:da:2f:15:
                    27:1b:0b:35:a3:ce:a5:eb:2c:a3:2f:36:52:77:46:
                    fe:2a:6f:5d:c4:a4:bc:12:98:4c:07:4e:94:39:37:
                    2c:d6:46:b2:75:89:dc:fa:08:f1:c5:1d:e2:75:2b:
                    d8:cf:aa:fc:3a:c3:c0:d4:be:87:c7:bf:ad:5d:67:
                    2b:77:f9:4b:7a:2d:97:db:11:a0:aa:aa:80:5f:45:
                    cb:b7:06:39:ac:f0:30:69:23:b2:02:72:80:14:76:
                    38:99:d1:69:17:33:2c:00:c6:83:2e:ba:65:a6:47:
                    82:24:69:fd:40:9a:88:5e:42:23:95:2d:ac:ec:56:
                    87:f5:fb:c7:92:b8:23:a0:77:24:64:5a:c6:9e:3f:
                    10:5b:e3:b0:4e:84:eb:01:5e:74:a1:95:32:93:0c:
                    18:90:70:95:31:66:83:8f:ce:eb:a4:cf:eb:6d:5c:
                    ab:11
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                D9:1C:70:B1:1F:02:26:78:72:A7:2C:36:B0:8C:0C:ED:68:B1:90:56
            X509v3 Authority Key Identifier: 
                2A:DB:22:61:80:8B:5C:25:21:6F:4E:19:1F:88:31:86:6E:5C:D1:B0
            Authority Information Access: 
                CA Issuers - URI:http://url-for-aia/Target.cer
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:http://url-for-crl/Target.crl
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        1a:76:79:ad:36:3f:2b:c4:af:6b:2c:30:53:8f:c2:a2:87:95:
        07:64:6b:b4:3b:3a:05:f6:41:e6:53:9a:d1:84:54:90:1c:a2:
        a6:84:ee:df:b7:ec:20:c0:ff:18:dd:28:59:38:18:5e:05:80:
        70:7c:5f:7d:53:e7:ae:47:9e:be:cc:ae:9f:8f:70:c8:f0:4d:
        06:33:f2:cb:99:ba:fe:44:ba:a3:56:1c:26:4b:8b:da:81:ad:
        d9:a3:c3:ff:98:15:ab:49:7b:f4:57:f2:09:83:ed:bd:0f:89:
        a8:ab:fe:e9:d0:be:87:08:12:b3:07:45:cc:eb:da:c3:bb:00:
        44:e8:f6:bd:99:62:df:54:4f:df:cb:ad:12:bf:a6:3e:f9:f3:
        d1:0f:0f:ee:95:e4:82:c1:bf:43:8b:4d:b0:b8:93:8f:6d:df:
        95:10:da:2d:a7:cc:45:ad:f0:55:63:ce:d6:1f:e4:2f:94:d7:
        5c:b4:be:bc:8c:fc:29:27:60:8f:1a:3e:a2:72:75:01:b0:68:
        14:46:96:1f:e3:e4:a2:81:c6:31:d4:9c:60:47:93:e6:5d:5d:
        be:01:2c:c2:26:d5:65:f5:2f:59:96:45:ad:8e:d0:62:7e:af:
        05:8f:c7:53:26:00:f0:77:86:3d:94:91:44:1e:32:2a:57:e4:
        5f:f2:d1:81
-----BEGIN CERTIFICATE-----
MIIDhDCCAmygAwIBAgIUc/VbjReduo1ZcV44HdABjYR1v0kwDQYJKoZIhvcNAQEL
BQAwETEPMA0GA1UEAwwGVGFyZ2V0MB4XDTIxMTAwNTEyMDAwMFoXDTIyMTAwNTEy
MDAwMFowETEPMA0GA1UEAwwGVGFyZ2V0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAofe139HaULCtPSrgHuC2/hwSd4bY9ZmQowHkTQrB9saklYmNKnmf
m8R4F5rGyUhEOdDvJTF7h9j+zG362wZGQRp8o1dJH76/zPphSbsDUioUFFcCBYfa
LxUnGws1o86l6yyjLzZSd0b+Km9dxKS8EphMB06UOTcs1kaydYnc+gjxxR3idSvY
z6r8OsPA1L6Hx7+tXWcrd/lLei2X2xGgqqqAX0XLtwY5rPAwaSOyAnKAFHY4mdFp
FzMsAMaDLrplpkeCJGn9QJqIXkIjlS2s7FaH9fvHkrgjoHckZFrGnj8QW+OwToTr
AV50oZUykwwYkHCVMWaDj87rpM/rbVyrEQIDAQABo4HTMIHQMB0GA1UdDgQWBBTZ
HHCxHwImeHKnLDawjAztaLGQVjAfBgNVHSMEGDAWgBQq2yJhgItcJSFvThkfiDGG
blzRsDA5BggrBgEFBQcBAQQtMCswKQYIKwYBBQUHMAKGHWh0dHA6Ly91cmwtZm9y
LWFpYS9UYXJnZXQuY2VyMC4GA1UdHwQnMCUwI6AhoB+GHWh0dHA6Ly91cmwtZm9y
LWNybC9UYXJnZXQuY3JsMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF
BQcDATANBgkqhkiG9w0BAQsFAAOCAQEAGnZ5rTY/K8SvaywwU4/CooeVB2RrtDs6
BfZB5lOa0YRUkByipoTu37fsIMD/GN0oWTgYXgWAcHxffVPnrkeevsyun49wyPBN
BjPyy5m6/kS6o1YcJkuL2oGt2aPD/5gVq0l79FfyCYPtvQ+JqKv+6dC+hwgSswdF
zOvaw7sAROj2vZli31RP38utEr+mPvnz0Q8P7pXkgsG/Q4tNsLiTj23flRDaLafM
Ra3wVWPO1h/kL5TXXLS+vIz8KSdgjxo+onJ1AbBoFEaWH+PkooHGMdScYEeT5l1d
vgEswibVZfUvWZZFrY7QYn6vBY/HUyYA8HeGPZSRRB4yKlfkX/LRgQ==
-----END CERTIFICATE-----
