This is certificate chain where the issuer of the second certificate is not
byte-for-byte equal to the subject of the trust anchor.

The names are equal when applying the comparison rules given in RFC 5280. The
difference in byte values is due to encoding some components as UTF8String
which were encoded in the other version as PrintableString.

The verification should succeed.

This certificate chain was obtained from the certificate transparency database.


Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 16695415 (0xfec077)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=KR, O=Government of Korea, OU=GPKI, CN=CA134040001
        Validity
            Not Before: May  2 04:58:54 2012 GMT
            Not After : Jul 23 02:59:59 2014 GMT
        Subject: C=KR, O=Government of Korea, OU=Group of Server, OU=\xEA\xB5\x90\xEC\x9C\xA1\xEA\xB3\xBC\xED\x95\x99\xEA\xB8\xB0\xEC\x88\xA0\xEB\xB6\x80, CN=*.daejin.or.kr
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
                    00:f1:3d:ac:1e:99:11:4f:45:7b:82:31:1f:e7:87:
                    cc:8d:8c:4a:04:e4:1f:64:ec:cb:31:96:3d:1d:1c:
                    6d:06:cb:49:03:31:77:aa:df:c7:95:93:6c:6e:dc:
                    80:b9:c9:fe:4a:74:ee:5e:15:46:8d:9c:f0:ea:6d:
                    6b:b6:46:f3:2e:64:50:3f:5e:22:df:99:0a:15:7c:
                    2f:23:aa:88:f3:36:da:58:03:29:ae:d3:13:2d:af:
                    9f:03:58:a9:9e:07:26:d7:10:8a:74:55:6c:50:af:
                    ee:fa:17:d6:16:bb:5e:80:d5:89:45:58:7e:18:df:
                    92:88:52:66:31:4d:7b:70:59
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            Authority Information Access: 
                CA Issuers - URI:ldap://ldap.epki.go.kr:389/cn=GPKIRootCA,ou=GPKI,o=Government of Korea,c=KR

            X509v3 Authority Key Identifier: 
                keyid:FA:72:04:03:99:FD:EA:DB:7C:50:DD:BE:E5:72:A4:D2:77:25:15:C8
                DirName:/C=KR/O=Government of Korea/OU=GPKI/CN=GPKIRootCA
                serial:47:FE:F6:00:02:07:86:D8:01:92:35:FF:9E:4A:20:02

            X509v3 Subject Key Identifier: 
                B3:11:A0:4B:54:32:7E:40:C3:70:F9:D4:CB:A3:C4:23:E1:B6:35:8F
            X509v3 Key Usage: 
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:ldap://ldap.epki.go.kr:389/ou=dp1p20710,ou=CRL,ou=GPKI,o=Government of Korea,c=kr?certificateRevocationList

            Netscape Cert Type: 
                SSL Client, SSL Server
    Signature Algorithm: sha1WithRSAEncryption
         4a:9f:a9:b7:98:72:b2:0e:89:67:9a:2c:ab:ad:c9:bb:b0:00:
         a7:f4:49:2d:7a:53:63:a1:5b:00:d1:5c:f1:90:40:61:07:e8:
         20:ea:b3:0e:3e:13:16:3a:8c:b5:4e:68:ed:17:26:e6:88:ac:
         99:30:69:c2:c0:67:30:21:35:2e:30:91:cb:15:c3:f3:00:16:
         5e:4a:47:e9:52:ba:e4:ac:6e:dc:c2:f1:95:f5:95:92:9d:75:
         48:c5:f1:72:88:ca:4c:34:ec:0f:7b:ac:c4:45:1a:6d:ab:bb:
         9b:01:30:d5:63:30:9a:4d:8d:3d:99:07:68:56:1a:95:59:f9:
         63:16:fe:a4:3e:12:eb:65:46:1d:7a:23:f1:06:7e:8c:b2:23:
         b8:fd:16:eb:10:15:bc:4a:d1:fe:86:d8:f4:61:6a:e8:82:62:
         aa:5b:73:bc:6c:d9:bf:2a:80:be:a9:f8:5c:4c:4e:8a:44:f3:
         8d:7f:79:f1:a8:17:a5:bd:40:1f:80:7f:33:3f:3b:4c:78:9d:
         f1:40:ac:3f:2e:7b:d1:07:5e:74:7c:94:8f:ec:51:f7:76:fb:
         a3:e6:9f:21:32:86:73:74:56:6a:a9:e9:a8:38:b8:2a:01:d4:
         cb:80:31:83:51:72:17:f8:4f:b1:89:79:0f:17:47:51:e9:b6:
         02:62:84:5c

-----BEGIN CERTIFICATE-----
MIIEnDCCA4SgAwIBAgIEAP7AdzANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJLUjEcMBoGA1U
ECgwTR292ZXJubWVudCBvZiBLb3JlYTENMAsGA1UECwwER1BLSTEUMBIGA1UEAwwLQ0ExMzQwND
AwMDEwHhcNMTIwNTAyMDQ1ODU0WhcNMTQwNzIzMDI1OTU5WjB+MQswCQYDVQQGEwJLUjEcMBoGA
1UECgwTR292ZXJubWVudCBvZiBLb3JlYTEYMBYGA1UECwwPR3JvdXAgb2YgU2VydmVyMR4wHAYD
VQQLDBXqtZDsnKHqs7ztlZnquLDsiKDrtoAxFzAVBgNVBAMMDiouZGFlamluLm9yLmtyMIGfMA0
GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDxPawemRFPRXuCMR/nh8yNjEoE5B9k7Msxlj0dHG0Gy0
kDMXeq38eVk2xu3IC5yf5KdO5eFUaNnPDqbWu2RvMuZFA/XiLfmQoVfC8jqojzNtpYAymu0xMtr
58DWKmeBybXEIp0VWxQr+76F9YWu16A1YlFWH4Y35KIUmYxTXtwWQIDAQABo4IB0jCCAc4wZwYI
KwYBBQUHAQEEWzBZMFcGCCsGAQUFBzAChktsZGFwOi8vbGRhcC5lcGtpLmdvLmtyOjM4OS9jbj1
HUEtJUm9vdENBLG91PUdQS0ksbz1Hb3Zlcm5tZW50IG9mIEtvcmVhLGM9S1IwgYYGA1UdIwR/MH
2AFPpyBAOZ/erbfFDdvuVypNJ3JRXIoVOkUTBPMQswCQYDVQQGEwJLUjEcMBoGA1UECgwTR292Z
XJubWVudCBvZiBLb3JlYTENMAsGA1UECwwER1BLSTETMBEGA1UEAwwKR1BLSVJvb3RDQYIQR/72
AAIHhtgBkjX/nkogAjAdBgNVHQ4EFgQUsxGgS1QyfkDDcPnUy6PEI+G2NY8wCwYDVR0PBAQDAgW
gMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB8BgNVHR8EdTBzMHGgb6BthmtsZGFwOi
8vbGRhcC5lcGtpLmdvLmtyOjM4OS9vdT1kcDFwMjA3MTAsb3U9Q1JMLG91PUdQS0ksbz1Hb3Zlc
m5tZW50IG9mIEtvcmVhLGM9a3I/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDARBglghkgBhvhC
AQEEBAMCBsAwDQYJKoZIhvcNAQEFBQADggEBAEqfqbeYcrIOiWeaLKutybuwAKf0SS16U2OhWwD
RXPGQQGEH6CDqsw4+ExY6jLVOaO0XJuaIrJkwacLAZzAhNS4wkcsVw/MAFl5KR+lSuuSsbtzC8Z
X1lZKddUjF8XKIykw07A97rMRFGm2ru5sBMNVjMJpNjT2ZB2hWGpVZ+WMW/qQ+EutlRh16I/EGf
oyyI7j9FusQFbxK0f6G2PRhauiCYqpbc7xs2b8qgL6p+FxMTopE841/efGoF6W9QB+AfzM/O0x4
nfFArD8ue9EHXnR8lI/sUfd2+6PmnyEyhnN0Vmqp6ag4uCoB1MuAMYNRchf4T7GJeQ8XR1HptgJ
ihFw=
-----END CERTIFICATE-----

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            47:fe:f6:00:02:07:86:d8:01:92:35:ff:9e:4a:20:02
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=KR, O=Government of Korea, OU=GPKI, CN=GPKIRootCA
        Validity
            Not Before: Jun  9 14:09:21 2008 GMT
            Not After : Jun  9 14:09:21 2018 GMT
        Subject: C=KR, O=Government of Korea, OU=GPKI, CN=CA134040001
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2047 bit)
                Modulus:
                    66:f0:e5:31:3d:4f:c0:d8:44:91:e0:79:5a:fb:f2:
                    0a:b4:17:7f:5d:1a:87:68:d6:34:3a:b7:03:ce:88:
                    10:73:95:44:1d:ec:36:80:01:82:40:87:b9:ee:f4:
                    8c:86:bf:10:8f:4f:46:97:68:a2:e3:d8:75:1f:83:
                    24:f9:05:4b:d4:0b:8b:39:60:92:b3:c2:35:08:49:
                    aa:be:ef:b9:74:1d:fc:95:76:38:58:4a:86:ca:e5:
                    22:b2:99:68:1d:45:53:49:dd:26:6c:de:cd:95:19:
                    67:10:5f:b0:1c:fa:2c:08:d1:66:7e:04:54:f3:ea:
                    41:8f:83:47:b7:d2:ae:08:7c:87:ac:86:3c:c8:4c:
                    b5:5f:1a:00:34:e9:32:42:e6:9d:f4:a3:60:92:ac:
                    63:83:53:62:17:81:b1:74:3b:92:bd:9d:dc:22:b9:
                    6b:b4:a7:dc:dc:de:e1:3b:c2:d3:90:f2:72:da:53:
                    58:f2:4d:c8:53:b1:f0:08:72:8b:47:55:83:be:e6:
                    34:dc:78:b8:f5:d0:86:58:a9:e2:7e:29:57:88:9b:
                    2e:55:70:f8:ef:44:f7:fe:e5:50:31:b7:d7:21:ff:
                    c2:04:a5:e2:e9:30:71:08:c7:1d:72:36:75:a7:6f:
                    3f:63:3a:de:d8:dd:1d:77:d9:54:70:47:63:72:20:
                    2b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Authority Key Identifier: 
                keyid:16:67:32:F4:68:5E:68:31:47:DB:ED:EC:CE:61:2E:9A:24:46:C4:7D

            X509v3 Subject Key Identifier: 
                FA:72:04:03:99:FD:EA:DB:7C:50:DD:BE:E5:72:A4:D2:77:25:15:C8
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Certificate Policies: 
                Policy: 1.2.410.100001.5.3.1.3
                Policy: 1.2.410.100001.5.3.1.1
                Policy: 1.2.410.100001.5.3.1.7
                Policy: 1.2.410.100001.5.3.1.9
                Policy: 1.2.410.100001.5.3.1.5

            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:ldap://cen.dir.go.kr:389/cn=GPKIRootCA,ou=GPKI,o=Government of Korea,c=KR?authorityRevocationlist;binary

    Signature Algorithm: sha1WithRSAEncryption
         21:6a:06:b3:c6:d3:18:fa:9f:a2:d4:5f:ce:c8:92:74:93:06:
         54:f0:fa:ca:21:22:54:64:ca:41:c4:c6:99:a5:f0:b3:51:64:
         a7:68:ef:47:6b:a4:8f:9e:a9:bc:80:4e:f5:64:95:7e:29:48:
         fa:96:5e:98:2f:75:44:c5:a1:94:d9:83:e9:35:4c:db:a3:89:
         85:b9:33:f9:40:1a:3e:77:5f:2c:11:90:08:b0:a3:c0:1b:66:
         57:c3:5c:14:07:1e:75:8d:db:8c:05:61:98:a3:8d:c9:15:2f:
         97:3e:5a:f1:ad:85:0b:3e:86:e9:ae:e7:6b:a9:3b:7e:11:f7:
         c6:fb:e8:5e:cb:5f:15:06:4f:e6:3e:e6:f2:a2:f1:65:31:9e:
         f8:7a:c5:7d:e8:87:a7:26:f1:b1:30:d8:6c:4b:e5:3e:44:81:
         35:42:82:c3:b1:c2:6b:95:e9:e6:8d:cb:5b:a3:03:59:f2:9a:
         bd:d4:c2:70:e9:5f:0e:1b:4c:3d:10:b5:50:32:df:7c:ba:27:
         73:53:67:f3:17:85:b4:5f:11:e2:22:56:41:b6:9e:a2:98:e6:
         71:43:ec:6d:0a:22:5d:d3:f4:bf:8e:91:28:1c:15:3d:64:42:
         6b:05:1a:25:44:c7:6f:7f:93:a1:da:a4:cb:7a:8c:19:53:5e:
         d1:b4:2f:13
-----BEGIN CERTIFICATE-----
MIIEXjCCA0agAwIBAgIQR/72AAIHhtgBkjX/nkogAjANBgkqhkiG9w0BAQUFADBPMQswCQYDVQQ
GEwJLUjEcMBoGA1UECgwTR292ZXJubWVudCBvZiBLb3JlYTENMAsGA1UECwwER1BLSTETMBEGA1
UEAwwKR1BLSVJvb3RDQTAeFw0wODA2MDkxNDA5MjFaFw0xODA2MDkxNDA5MjFaMFAxCzAJBgNVB
AYTAktSMRwwGgYDVQQKDBNHb3Zlcm5tZW50IG9mIEtvcmVhMQ0wCwYDVQQLDARHUEtJMRQwEgYD
VQQDDAtDQTEzNDA0MDAwMTCCASEwDQYJKoZIhvcNAQEBBQADggEOADCCAQkCggEAZvDlMT1PwNh
EkeB5WvvyCrQXf10ah2jWNDq3A86IEHOVRB3sNoABgkCHue70jIa/EI9PRpdoouPYdR+DJPkFS9
QLizlgkrPCNQhJqr7vuXQd/JV2OFhKhsrlIrKZaB1FU0ndJmzezZUZZxBfsBz6LAjRZn4EVPPqQ
Y+DR7fSrgh8h6yGPMhMtV8aADTpMkLmnfSjYJKsY4NTYheBsXQ7kr2d3CK5a7Sn3Nze4TvC05Dy
ctpTWPJNyFOx8Ahyi0dVg77mNNx4uPXQhlip4n4pV4ibLlVw+O9E9/7lUDG31yH/wgSl4ukwcQj
HHXI2dadvP2M63tjdHXfZVHBHY3IgKwIDAQABo4IBNDCCATAwHwYDVR0jBBgwFoAUFmcy9GheaD
FH2+3szmEumiRGxH0wHQYDVR0OBBYEFPpyBAOZ/erbfFDdvuVypNJ3JRXIMA4GA1UdDwEB/wQEA
wIBBjBPBgNVHSAESDBGMAwGCiqDGoaNIQUDAQMwDAYKKoMaho0hBQMBATAMBgoqgxqGjSEFAwEH
MAwGCiqDGoaNIQUDAQkwDAYKKoMaho0hBQMBBTASBgNVHRMBAf8ECDAGAQH/AgEAMHkGA1UdHwR
yMHAwbqBsoGqGaGxkYXA6Ly9jZW4uZGlyLmdvLmtyOjM4OS9jbj1HUEtJUm9vdENBLG91PUdQS0
ksbz1Hb3Zlcm5tZW50IG9mIEtvcmVhLGM9S1I/YXV0aG9yaXR5UmV2b2NhdGlvbmxpc3Q7YmluY
XJ5MA0GCSqGSIb3DQEBBQUAA4IBAQAhagazxtMY+p+i1F/OyJJ0kwZU8PrKISJUZMpBxMaZpfCz
UWSnaO9Ha6SPnqm8gE71ZJV+KUj6ll6YL3VExaGU2YPpNUzbo4mFuTP5QBo+d18sEZAIsKPAG2Z
Xw1wUBx51jduMBWGYo43JFS+XPlrxrYULPobprudrqTt+EffG++hey18VBk/mPubyovFlMZ74es
V96IenJvGxMNhsS+U+RIE1QoLDscJrlenmjctbowNZ8pq91MJw6V8OG0w9ELVQMt98uidzU2fzF
4W0XxHiIlZBtp6imOZxQ+xtCiJd0/S/jpEoHBU9ZEJrBRolRMdvf5Oh2qTLeowZU17RtC8T
-----END CERTIFICATE-----

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            45:f8:e0:e4:01:c5:3e:71:e6:bd:71:6d:97:9c:41:23
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=KR, O=Government of Korea, OU=GPKI, CN=GPKIRootCA
        Validity
            Not Before: Mar 15 06:00:04 2007 GMT
            Not After : Mar 15 06:00:04 2017 GMT
        Subject: C=KR, O=Government of Korea, OU=GPKI, CN=GPKIRootCA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2047 bit)
                Modulus:
                    5a:2b:41:15:9b:db:76:26:01:f0:54:72:0b:87:13:
                    1f:a0:d0:3f:96:aa:0d:b3:34:81:de:48:5a:9f:f3:
                    70:5a:c2:f1:3a:9e:04:f0:4e:94:79:97:e1:f4:b5:
                    14:4c:d7:6f:c4:8b:18:b7:dc:12:2b:1d:0a:9b:ee:
                    20:0c:5b:8f:ff:f9:af:82:9e:98:46:d0:3d:5d:28:
                    f3:97:16:c1:5c:e5:56:bf:44:a4:00:a1:7a:cb:9b:
                    7a:5b:dc:d4:ed:fb:f2:a0:02:67:00:1e:44:e5:8a:
                    01:dc:a5:a3:4e:fe:d6:0c:67:ca:49:b9:f0:d0:a0:
                    f9:4d:1f:03:d3:86:ef:0d:85:75:4d:f3:ed:fb:cd:
                    6a:66:04:57:f4:57:9b:ac:66:8a:4f:c2:a8:4f:71:
                    89:09:dd:4c:00:df:96:bb:d5:90:0a:b4:b6:6a:6d:
                    c6:bf:d3:99:29:ff:62:f0:10:da:45:ac:09:72:0b:
                    82:10:e8:15:a8:8b:5f:e2:a2:5a:79:1e:c2:67:fd:
                    e9:44:57:0b:03:d0:21:15:51:b0:00:f3:8f:6d:e2:
                    23:f0:49:21:d9:6d:cf:62:3d:ec:eb:fd:28:92:01:
                    3f:7a:a3:72:7c:eb:f3:ae:e7:f8:0a:ec:6e:ad:7a:
                    9b:55:c9:30:4b:9c:b6:61:46:6b:58:1a:fe:9f:48:
                    1d
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Authority Key Identifier: 
                keyid:16:67:32:F4:68:5E:68:31:47:DB:ED:EC:CE:61:2E:9A:24:46:C4:7D

            X509v3 Subject Key Identifier: 
                16:67:32:F4:68:5E:68:31:47:DB:ED:EC:CE:61:2E:9A:24:46:C4:7D
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment, Key Agreement, Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE
    Signature Algorithm: sha1WithRSAEncryption
         35:63:52:c6:60:18:1c:b7:c2:c1:5a:58:02:ec:07:d5:a1:90:
         93:fc:80:47:d0:52:78:ab:85:f8:76:d3:b8:b0:18:32:a0:b6:
         90:68:13:66:3d:6f:af:8e:dc:f6:a3:c4:ce:39:5f:af:ed:0a:
         66:e0:7c:11:c8:0c:cb:9e:1f:38:29:8a:8b:de:c8:63:2e:c7:
         b4:d2:ce:36:91:94:e0:4f:84:92:b6:aa:22:a8:fd:31:a7:33:
         48:c9:5b:f6:13:d8:16:16:eb:1f:3f:a5:4e:06:93:3a:d9:06:
         65:30:96:fa:8d:06:db:a1:1a:f4:2b:fa:0f:68:f0:c1:2b:7c:
         9d:05:d7:09:42:3b:d2:2f:91:90:fc:0e:6b:38:5b:b2:75:a9:
         57:9c:57:64:f5:98:20:a4:ff:d4:30:04:e4:ce:1f:90:c9:2f:
         c1:df:5a:56:b8:cb:aa:aa:b4:bf:eb:b8:f7:22:4a:4d:c1:35:
         f4:65:bd:78:bc:6f:78:1b:56:3a:81:e8:0d:f5:c2:a5:17:30:
         d3:8d:57:77:cb:a5:c1:4c:b1:30:dd:34:b8:ab:92:0a:22:02:
         36:8b:f6:6c:f7:61:b9:08:ee:30:ad:1a:a8:44:f1:2e:32:ec:
         83:a2:48:48:3a:67:5f:e9:6f:1b:17:33:08:2a:c1:c9:c3:67:
         9a:0e:85:67
-----BEGIN CERTIFICATE-----
MIIDijCCAnKgAwIBAgIQRfjg5AHFPnHmvXFtl5xBIzANBgkqhkiG9w0BAQUFADBPMQswCQYDVQQ
GEwJLUjEcMBoGA1UEChMTR292ZXJubWVudCBvZiBLb3JlYTENMAsGA1UECxMER1BLSTETMBEGA1
UEAxMKR1BLSVJvb3RDQTAeFw0wNzAzMTUwNjAwMDRaFw0xNzAzMTUwNjAwMDRaME8xCzAJBgNVB
AYTAktSMRwwGgYDVQQKExNHb3Zlcm5tZW50IG9mIEtvcmVhMQ0wCwYDVQQLEwRHUEtJMRMwEQYD
VQQDEwpHUEtJUm9vdENBMIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBaK0EVm9t2JgH
wVHILhxMfoNA/lqoNszSB3khan/NwWsLxOp4E8E6UeZfh9LUUTNdvxIsYt9wSKx0Km+4gDFuP//
mvgp6YRtA9XSjzlxbBXOVWv0SkAKF6y5t6W9zU7fvyoAJnAB5E5YoB3KWjTv7WDGfKSbnw0KD5T
R8D04bvDYV1TfPt+81qZgRX9FebrGaKT8KoT3GJCd1MAN+Wu9WQCrS2am3Gv9OZKf9i8BDaRawJ
cguCEOgVqItf4qJaeR7CZ/3pRFcLA9AhFVGwAPOPbeIj8Ekh2W3PYj3s6/0okgE/eqNyfOvzruf
4CuxurXqbVckwS5y2YUZrWBr+n0gdAgMBAAGjYzBhMB8GA1UdIwQYMBaAFBZnMvRoXmgxR9vt7M
5hLpokRsR9MB0GA1UdDgQWBBQWZzL0aF5oMUfb7ezOYS6aJEbEfTAOBgNVHQ8BAf8EBAMCAa4wD
wYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEANWNSxmAYHLfCwVpYAuwH1aGQk/yA
R9BSeKuF+HbTuLAYMqC2kGgTZj1vr47c9qPEzjlfr+0KZuB8EcgMy54fOCmKi97IYy7HtNLONpG
U4E+EkraqIqj9MaczSMlb9hPYFhbrHz+lTgaTOtkGZTCW+o0G26Ea9Cv6D2jwwSt8nQXXCUI70i
+RkPwOazhbsnWpV5xXZPWYIKT/1DAE5M4fkMkvwd9aVrjLqqq0v+u49yJKTcE19GW9eLxveBtWO
oHoDfXCpRcw041Xd8ulwUyxMN00uKuSCiICNov2bPdhuQjuMK0aqETxLjLsg6JISDpnX+lvGxcz
CCrBycNnmg6FZw==
-----END CERTIFICATE-----
