W sobotę 30 maja 2020 roku wystąpił problem z popularnymi certyfikatami SSL/TLS od dostawcy Sectigo (dawniej Comodo), który nie był od razu oczywisty. Same certyfikaty pozostały w porządku, jednak jeden z pośrednich certyfikatów CA w łańcuchach dostarczających te certyfikaty stał się przestarzały. Sytuacja nie była aż tak tragiczna, ale zdecydowanie nieprzyjemna: aktualne wersje przeglądarek niczego nie zauważyły, natomiast większość automatyzacji i starsze przeglądarki/OS nie były gotowe na taki obrót spraw.

Habr nie był wyjątkiem, dlatego napisano ten artykuł edukacyjny/postmortem.
TL;DR Rozwiązanie znajduje się na samym końcu.
Ominiemy podstawową teorię na temat PKI, SSL/TLS, https i tym podobnych. Mechanika uwierzytelniania certyfikatem bezpieczeństwa domeny polega na budowaniu łańcucha składającego się z kilku certyfikatów do jednego z zaufanych przez przeglądarkę lub system operacyjny, które są przechowywane w tzw. Trust Store. Lista ta jest rozpowszechniana z systemem operacyjnym, ekosystemem środowiska wykonawczego kodu lub z przeglądarką. Wszelkie certyfikaty mają określony czas ważności, po upływie którego uważane są za nieufne, w tym certyfikaty w trust store. Jak wyglądał łańcuch zaufania przed dniem, który zapoczątkował problemy? Pomocna w tym będzie narzędzie internetowe. od firmy Qualys.
Tak więc, jednym z najpopularniejszych 'komercyjnych' certyfikatów jest Sectigo Positive SSL (dawniej znany jako Comodo Positive SSL, certyfikaty pod tą nazwą są nadal w użyciu), jest to tak zwany certyfikat DV. DV to najprostszy poziom certyfikacji, oznaczający weryfikację dostępu do zarządzania domeną przez wydawcę takiego certyfikatu. Właściwie, DV rozszyfrowuje się jako 'domain validation'. Dla informacji: istnieją także OV (organizational validation) i EV (extended validation), a bezpłatny certyfikat od Let’s Encrypt również jest DV. Dla tych, którzy z jakiegoś powodu nie są zadowoleni z mechanizmu ACME, produkt Positive SSL jest najlepszym wyborem, biorąc pod uwagę stosunek ceny do możliwości (certyfikat jednodomenowy kosztuje około 5-7 dolarów rocznie z całkowitym okresem ważności certyfikatu do 2 lat i 3 miesięcy).
Typowy certyfikat Sectigo DV (RSA) był do niedawna dostarczany z takim łańcuchem pośrednich CA:
Certyfikat #1:
Dane:
Wersja: 3 (0x2)
Numer seryjny:
7d:5b:51:26:b4:76:ba:11:db:74:16:0b:bc:53:0d:a7
Algorytm podpisu: sha384WithRSAEncryption
Wystawca: C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority
Ważność
Nie wcześniej niż: Nov 2 00:00:00 2018 GMT
Nie później niż: Dec 31 23:59:59 2030 GMT
Podmiot: C=GB, ST=Greater Manchester, L=Salford, O=Sectigo Limited, CN=Sectigo RSA Domain Validation Secure Server CA
Certyfikat #2:
Dane:
Wersja: 3 (0x2)
Numer seryjny:
13:ea:28:70:5b:f4:ec:ed:0c:36:63:09:80:61:43:36
Algorytm podpisu: sha384WithRSAEncryption
Wystawca: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
Ważność
Nie wcześniej niż: May 30 10:48:38 2000 GMT
Nie później niż: May 30 10:48:38 2020 GMT
Podmiot: C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification AuthorityTutaj brakuje «trzeciego certyfikatu», samopodpisanego przez AddTrust AB, ponieważ w pewnym momencie zaczęto uznawać, że włączanie samopodpisanych certyfikatów głównych do łańcuchów to zły zwyczaj. Zauważmy, że certyfikat pośredni, wydany przez UserTrust z AddTrust, ma datę ważności do 30 maja 2020 roku. To nie jest przypadek, ponieważ dla tego CA zaplanowano proces wycofania. Uważano, że do 30 maja 2020 roku wszystkie store zaufania będą miały w tym czasie certyfikat z cross-podpisem od UserTrust (pod spodem to ten sam certyfikat, a właściwie klucz publiczny) i łańcuch, nawet z włączonym już niezaufanym certyfikatem, będzie miał alternatywne ścieżki budowy, i nikt tego nie zauważy. Jednak plany pokrzyżowała rzeczywistość, a mianowicie szeroki termin „legacy systems”. Rzeczywiście, właściciele aktualnych wersji przeglądarek nic nie zauważyli, jednak zawiodła masa automatyzacji zbudowanych na curl i bibliotekach ssl/tls w różnych językach programowania i środowiskach wykonawczych. Należy zrozumieć, że wiele produktów nie posługuje się wbudowanymi w system operacyjny narzędziami do budowy łańcuchów, a „nosi” własny store zaufania ze sobą. I nie zawsze zawierają one to, co by chcieli zobaczyć. . A w Linuxie też nie zawsze aktualizowane są pakiety typu ca-certificates. W rezultacie wszystko wydaje się w porządku, ale coś nie działa tu i tam.
Na rysunku 1 widać, że chociaż u zdecydowanej większości wszystko wyglądało standardowo, u niektórych coś się zepsuło i ruch zauważalnie spadł (czerwona linia po lewej), a następnie wzrósł po wymianie jednego z kluczowych certyfikatów (linia po prawej). Były też wzrosty w środku, gdy zmieniano inne certyfikaty, od których coś również zależało. Tak jak u większości wizualnie wszystko nadal działało mniej więcej normalnie (za wyjątkiem dziwnych błędów, takich jak niemożność ładowania obrazków na Habrastorage), można pośrednio wnioskować o liczbie klientów legacy i botów na Habrze.
Rysunek 1. Wykres „ruchu” na Habrze.
Na rysunku 2 można ocenić, jak budowana jest w aktualnych wersjach przeglądarek „alternatywna” seria certyfikatów do zaufanego certyfikatu CA w przeglądarce użytkownika, nawet przy obecności „wygasłego” certyfikatu w łańcuchu. To, według samej Sectigo, jest powód, dlaczego nie należy nic robić.
Rysunek 2. Łańcuch do zaufanego certyfikatu nowoczesnej wersji przeglądarki.
A oto na rysunku 3 można zauważyć, jak wszystko naprawdę wygląda, gdy coś poszło nie tak i mamy system legacy. W takim przypadku połączenie HTTPS nie jest nawiązywane i widzimy błąd typu „walidacja certyfikatu nie powiodła się” lub podobny.
Rysunek 3. Łańcuch został unieważniony, ponieważ certyfikat główny i podpisany przez niego certyfikat pośredni „wygasły”.
Na rysunku 4 widzimy już „rozwiązanie” dla systemów legacy: istnieje jeszcze jeden certyfikat pośredni, właściwie „podpis krzyżowy” z innego CA, który zazwyczaj jest wstępnie zainstalowany w systemach legacy. To, co trzeba zrobić, to znaleźć ten certyfikat (oznaczony jako Dodatkowe pobieranie) i zastąpić nim „wygasły”.
Rysunek 4. Alternatywny łańcuch dla systemów legacy.
Swoją drogą, problem nie zyskał szerokiego rozgłosu ani żadnej publicznej dyskusji, w tym z powodu nadmiernej pewności siebie Sectigo. Oto przykład opinii jednego z dostawców certyfikatów w tej sytuacji:
Previously they [Sectigo] assured everyone that no issues will be. However, the reality is that some legacy servers/devices are affected.
That is a ridiculous situation. We pointed their attention to the expiring AddTrust RSA/ECC multiple times within a year and each time Sectigo assured us no issues will be.
Osobiście zadawałem na Stack Overflow w tej sprawie miesiąc temu, ale po tym, jak się wydaje, publiczność projektu nie jest zbytnio odpowiednia do takich pytań, więc musiałem na nie odpowiedzieć samodzielnie po analizie.
Sectigo Na ten temat FAQ, ale jest on tak nieczytelny i rozległy, że korzystanie z niego jest niemożliwe. Oto cytat, który jest kwintesencją całej publikacji:
Co musisz zrobić
W większości przypadków, w tym do wydawania certyfikatów dla nowoczesnych systemów klienckich lub serwerowych, nie są wymagane żadne działania, niezależnie od tego, czy wystawiasz certyfikaty powiązane z korzeniem AddTrust.Od 30 kwietnia 2020 roku: Dla procesów biznesowych, które zależą od bardzo starych systemów, Sectigo udostępniło (domyślnie w pakietach certyfikatów) nowy stary korzeń do krzyżowego podpisywania, korzeń "AAA Certificate Services". Niemniej jednak, proszę korzystać z najwyższą ostrożnością w odniesieniu do jakiegokolwiek procesu, który zależy od bardzo starych systemów legacy. Systemy, które nie otrzymały aktualizacji niezbędnych do obsługi nowszych korzeni, takich jak korzeń COMODO Sectigo, będą niewątpliwie pozbawione innych istotnych aktualizacji zabezpieczeń i powinny być uważane za niebezpieczne. Jeśli mimo to chcesz krzyżowo podpisać do korzenia AAA Certificate Services, skontaktuj się bezpośrednio z Sectigo.
Bardzo podoba mi się teza „bardzo stary”, oczywiście. Na przykład curl w konsoli Ubuntu Linux 18.04 LTS (nasz bazowy system operacyjny w tej chwili) z ostatnimi aktualizacjami nie starszymi niż miesiąc, trudno nazwać bardzo starym, jednak nie działa.
Większość dystrybutorów certyfikatów wydała swoje notatki z rozwiązaniami na wieczór 30 maja. Na przykład, bardzo dobra technicznie od (z konkretnym opisem, co robić i z gotowymi pakietami CA-bundles w archiwach zip, ale tylko RSA):
Rysunek 5. Siedem kroków, aby szybko wszystko naprawić.
Tak od Redhat, ale tam wszystko jest bardziej legacy i trzeba zainstalować jeszcze bardziej korzenny certyfikat legacy od Comodo, aby wszystko działało.
Rozwiązanie
Warto powtórzyć rozwiązanie także tutaj. Poniżej znajdują się dwa zestawy łańcuchów certyfikatów DV Sectigo (nie Comodo!), jeden dla tradycyjnych certyfikatów RSA, a drugi dla mniej tradycyjnych certyfikatów ECC (ECDSA) (używamy obu zestawów od dłuższego czasu). Z ECC było trudniej, ponieważ większość rozwiązań nie uwzględniała takich certyfikatów z powodu ich niskiej popularności. Ostatecznie potrzebny certyfikat pośredni został znaleziony na .
Łańcuch dla certyfikatów opartych na algorytmie klucza RSA. Porównaj ze swoim łańcuchem i zwróć uwagę, że zamienił się tylko dolny certyfikat, a górny pozostał niezmieniony. Odznaczam je w warunkach domowych według ostatnich trzech symboli bloków base64, nie licząc znaku „równości” (w tym przypadku En8= i 1+V):
# Subject: /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
# Algo: RSA, key size: 2048
# Issuer: /C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
# Not valid before: 2018-11-02T00:00:00Z
# Not valid after: 2030-12-31T23:59:59Z
# SHA-1 Fingerprint: 33:E4:E8:08:07:20:4C:2B:61:82:A3:A1:4B:59:1A:CD:25:B5:F0:DB
# SHA-256 Fingerprint: 7F:A4:FF:68:EC:04:A9:9D:75:28:D5:08:5F:94:90:7F:4D:1D:D1:C5:38:1B:AC:DC:83:2E:D5:C9:60:21:46:76
-----BEGIN CERTIFICATE-----
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N
TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj
eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E
oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk
Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY
uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j
BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb
+ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw
CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H
ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH
7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi
H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx
RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv
xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38
sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL
l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq
6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY
LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5
yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K
00u/I5sUKUErmgQfky3xxzlIPK1aEn8=
-----END CERTIFICATE-----
# Subject: /C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
# Algo: RSA, key size: 4096
# Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
# Not valid before: 2019-03-12T00:00:00Z
# Not valid after: 2028-12-31T23:59:59Z
# SHA-1 Fingerprint: D8:9E:3B:D4:3D:5D:90:9B:47:A1:89:77:AA:9D:5C:E3:6C:EE:18:4C
# SHA-256 Fingerprint: 68:B9:C7:61:21:9A:5B:1F:01:31:78:44:74:66:5D:B6:1B:BD:B1:09:E0:0F:05:CA:9F:74:24:4E:E5:F5:F5:2B
-----BEGIN CERTIFICATE-----
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
vGp4z7h/jnZymQyd/teRCBaho1+V
-----END CERTIFICATE-----Łańcuch dla certyfikatów opartych na algorytmie klucza ECC. Analogicznie z łańcuchem dla RSA, zamienił się tylko dolny certyfikat, a górny pozostał niezmieniony (w tym przypadku fmA== i v/c=):
# Subject: /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo ECC Domain Validation Secure Server CA
# Algo: EC secp256r1, key size: 256
# Issuer: /C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust ECC Certification Authority
# Not valid before: 2018-11-02T00:00:00Z
# Not valid after: 2030-12-31T23:59:59Z
# SHA-1 Fingerprint: E8:49:90:CB:9B:F8:E3:AB:0B:CA:E8:A6:49:CB:30:FE:4D:C4:D7:67
# SHA-256 Fingerprint: 61:E9:73:75:E9:F6:DA:98:2F:F5:C1:9E:2F:94:E6:6C:4E:35:B6:83:7C:E3:B9:14:D2:24:5C:7F:5F:65:82:5F
-----BEGIN CERTIFICATE-----
MIIDqDCCAy6gAwIBAgIRAPNkTmtuAFAjfglGvXvh9R0wCgYIKoZIzj0EAwMwgYgx
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJz
ZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQD
EyVVU0VSVHJ1c3QgRUNDIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE4MTEw
MjAwMDAwMFoXDTMwMTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAkdCMRswGQYDVQQI
ExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoT
D1NlY3RpZ28gTGltaXRlZDE3MDUGA1UEAxMuU2VjdGlnbyBFQ0MgRG9tYWluIFZh
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABHkYk8qfbZ5sVwAjBTcLXw9YWsTef1Wj6R7W2SUKiKAgSh16TwUwimNJE4xk
IQeV/To14UrOkPAY9z2vaKb71EijggFuMIIBajAfBgNVHSMEGDAWgBQ64QmG1M8Z
wpZ2dEl23OA1xmNjmjAdBgNVHQ4EFgQU9oUKOxGG4QR9DqoLLNLuzGR7e64wDgYD
VR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYIKwYB
BQUHAwEGCCsGAQUFBwMCMBsGA1UdIAQUMBIwBgYEVR0gADAIBgZngQwBAgEwUAYD
VR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVz
dEVDQ0NlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUFBwEBBGowaDA/
BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdEVD
Q0FkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1
c3QuY29tMAoGCCqGSM49BAMDA2gAMGUCMEvnx3FcsVwJbZpCYF9z6fDWJtS1UVRs
cS0chWBNKPFNpvDKdrdKRe+oAkr2jU+ubgIxAODheSr2XhcA7oz9HmedGdMhlrd9
4ToKFbZl+/OnFFzqnvOhcjHvClECEQcKmc8fmA==
-----END CERTIFICATE-----
# Subject: /C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust ECC Certification Authority
# Algo: EC secp384r1, key size: 384
# Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
# Not valid before: 2019-03-12T00:00:00Z
# Not valid after: 2028-12-31T23:59:59Z
# SHA-1 Fingerprint: CA:77:88:C3:2D:A1:E4:B7:86:3A:4F:B5:7D:00:B5:5D:DA:CB:C7:F9
# SHA-256 Fingerprint: A6:CF:64:DB:B4:C8:D5:FD:19:CE:48:89:60:68:DB:03:B5:33:A8:D1:33:6C:62:56:A8:7D:00:CB:B3:DE:F3:EA
-----BEGIN CERTIFICATE-----
MIID0zCCArugAwIBAgIQVmcdBOpPmUxvEIFHWdJ1lDANBgkqhkiG9w0BAQwFADB7
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgRUNDIENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEGqxUWqn5aCPnetUkb1PGWthL
q8bVttHmc3Gu3ZzWDGH926CJA7gFFOxXzu5dP+Ihs8731Ip54KODfi2X0GHE8Znc
JZFjq38wo7Rw4sehM5zzvy5cU7Ffs30yf4o043l5o4HyMIHvMB8GA1UdIwQYMBaA
FKARCiM+lvEH7OKvKe+CpX/QMKS0MB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1
xmNjmjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zARBgNVHSAECjAI
MAYGBFUdIAAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5j
b20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNAYIKwYBBQUHAQEEKDAmMCQG
CCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZIhvcNAQEM
BQADggEBABns652JLCALBIAdGN5CmXKZFjK9Dpx1WywV4ilAbe7/ctvbq5AfjJXy
ij0IckKJUAfiORVsAYfZFhr1wHUrxeZWEQff2Ji8fJ8ZOd+LygBkc7xGEJuTI42+
FsMuCIKchjN0djsoTI0DQoWz4rIjQtUfenVqGtF8qmchxDM6OW1TyaLtYiKou+JV
bJlsQ2uRl9EMC5MCHdK8aXdJ5htN978UeAOwproLtOGFfy/cQjutdAFI3tZs4RmY
CV4Ks2dH/hzg1cEo70qLRDEmBDeNiXQ2Lu+lIg+DdEmSx/cQwgwp+7e9un/jX9Wf
8qn0dNW44bOwgeThpWOjzOoEeJBuv/c=
-----END CERTIFICATE-----Tak więc, mniej więcej tak. Dziękujemy za uwagę.
Źródło: habr.com
