Как разобрать этот формат сертификата x509 SSL / TLS? - PullRequest
1 голос
/ 06 мая 2019

У меня есть формат сертификата (строки между - ----END CERTIFICATE----- and BEGIN CERTIFICATE-----), который выглядит следующим образом, сохраненный в формате json:

{"af": 6, "cert": ["----- НАЧАТЬ СЕРТИФИКАТ ----- \ nMIIGMjCCBRqgAwIBAgIQD8TjNXAZtd7GHX4fwUPe9jANBgkqhkiG9w0BAQsFADBw \ nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 \ nd3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz \ ndXJhbmNlIFNlcnZlciBDQTAeFw0xNzA3MjUwMDAwMDBaFw0xODEwMTIxMjAwMDBa \ nMEkxCzAJBgNVBAYTAk5MMRIwEAYDVQQHEwlBbXN0ZXJkYW0xETAPBgNVBAoTCFJJ \ nUEUgTkNDMRMwEQYDVQQDDAoqLnJpcGUubmV0MIICIjANBgkqhkiG9w0BAQEFAAOC \ nAg8AMIICCgKCAgEArtORS6Luc + bU1dBK2pR4axFhzhlG48QBgO149UzSpRiPQh3s \ НШ + 6GoQQafmYjRYlkmybN92sOed / wfaWq8 / vvxFmZ / K5yyOhnDs46z079AXAqnY4 \ ne1dgALbIM4ITskoT0zo / + OZTCZsKfSn7az0S04DU / OWictRI4ilUPAONX02aksB7 \ nJddzAvK07V15YQ2HrtG48tJ / DbKWuTqWmkuPuSx3QBECyxWuHsdxwEaWlVgXZk3H \ n3hbOswszBnNIywPqGQdQ4ApPi0gXnWaSudzP92Al1RElHxGnuYfcFHSTQXC54JT7 \ nkbjQjI9Vj0Qa4z / IYBNH57iUHqwOpEftYr5m4SOea400ghnHxL0J87LHBwpTMbqk \ nNK3h9KM1jf4URBlveeMydStdeHz9KVUFOnRx0M2eYwi6HAchnRQkNcobMbhNuZhh \ п + Qp + G + O8T0JY1ciEPf + UNS3EEDNl + NAe57sJl + CU3u0lYhRUAZQJpYP6ExpjW9Qa \ nFUkPRqGx4VMaBWzB6cAVhENmt5d / ZSglmUK0SwW67hpyUN0GJd81Ed7vXw U2reLL \ n7f + ix1pMbHlEmC338sv5j + 9JZz7MvAW0E / axZwQY1YSqxQzEoyE8wCCHH6PKV / г2 \ n2v9JPc2PJBWjvGtPNUDYS4paDszCeHmyhIoquDDgrU1EUV8877fv8ZgZAGMCAwEA \ nAaOCAe0wggHpMB8GA1UdIwQYMBaAFFFo / 5CvAgd1PMzZZWRiohK4WXI7MB0GA1Ud \ nDgQWBBRgjLhcTWaOUAtxhZZ1Hkl4x7SibzAfBgNVHREEGDAWggoqLnJpcGUubmV0 \ ngghyaXBlLm5ldDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG \ nCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0 \ nLmNvbS9zaGEyLWhhLXNlcnZlci1nMS5jcmwwNKAyoDCGLmh0dHA6Ly9jcmw0LmRp \ nZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMS5jcmwwTAYDVR0gBEUwQzA3Bglg \ nhkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29t \ nL0NQUzAIBgZngQwBAgIwgYMGCCsGAQUFBwEBBHcwdTAkBggrBgEFBQcwAYYYaHR0 \ ncDovL29jc3AuZGlnaWNlcnQuY29tME0GCCsGAQUFBzAChkFodHRwOi8vY2FjZXJ0 \ ncy5kaWdpY2VydC5jb20vRGlnaUNlcnRTSEEySGlnaEFzc3VyYW5jZVNlcnZlckNB \ nLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBhGz3DS / С / 7Yim \ nwhSQobJvqt2Wrr5oVk5pM1i7vh + Lr / ecaEg3qRL / TlXqA7OIgCzuQnYNBBNaS / Px \ nXWOrQJt2c0zEAdJlvBa / OZzntbaB3DlsI / HdN9k7J2yyiKpzlKoktxbWGZ + p62 / G \ n0F 4VdOzQoI + 2A9NbyvW5RzMx1c6BuIDJGJHDRvnSqry5 + 1E9cJtoAfTQexLwJu6x \ nlNMuJO + и / Lrz4DTwKvAyX + j3W810L8QISvNiyUJuG5JgXW6vCkL + TOhKHEJqFwVJ \ n4FNef / bewoBHy8AasJmIziRhs / jmgchlykX2R + Mktj7AkBr5Gj2Oy7xTg + LeTWjW \ nstR8lihH \ п ----- END СЕРТИФИКАТ ----- "," ----- НАЧАТЬСЕРТИФИКАТ ----- \ nMIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs \ nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 \ nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j \ nZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL \ nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 \ nLmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy \ nYW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2 \ n4C / CJAbIbQRf1 + 8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU + UDlqUH1VWtMIC \ nKq / QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK / IHe1NnF9Xt4ZQaJn1 \ nitrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j / 018QsIJzJa9buLnqS9UdAn \ n4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I + 4G3FhahnSMSTeXXkgisdaScus0X \ nsh5ENWV / UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft \ nbZvySC / гА/ WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH / AGEA \ nMA4GA1UdDwEB / wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw \ nNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy \ ndC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t \ nL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG \ nBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ \ nUzAdBgNVHQ4EFgQUUWj / kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D \ naQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd \ naOpKj4PWUS + Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk / ВНС \ п + r1hspZcX30BJZr01lYPf7TMSVcGDiEo + afgv2MW5gxTs14nhr9hctJqvIni5ly \ п / D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu \ nxICaEnL6VpPX / 78whQYwvwt / Tv9XBZ0k7YXDK / umdaisLRbvfXknsuvCnQsH6qqF \ n0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY + 3sAzm2fTYS5yh + Rp / BIAV0Ae \ ncPUeybQ = \ п----- КОНЕЦ СЕРТИФИКАТА ----- "]," dst_addr ":" 2001: 67c: 2e8: 22 :: c100: 68b "," dst_name ":" www.ripe.net "," dst_port ":"443", "from": "2001: 67c: 2e8: ffe2: 220: 4aff: fec6: cc9d", "fw": 4790, "lts": 58, "method": "TLS", "msm_id":15001, "msm_name": "SSLCert", "prb_id": 9, "rt": 22.177541, "src_addr": "2001: 67c: 2e8: ffe2: 220: 4aff: fec6: cc9d", "timestamp ": 1503448834," ttc ": 4.284673," type ":" sslcert "," ver ":" 1.2 "}

Я использую python 3.6 в Ubuntu 18.04.

Мой вопрос:

Как извлечь поля сертификата, такие как имя субъекта, эмитент, отпечаток сертификата и т. Д., Из вышеуказанного формата?

...