company_banner

Проблема с сертификатами Sectigo после 30 мая 2020 года и метод решения

    В субботу 30 мая 2020 года возникла не сразу понятная проблема с популярными SSL/TLS сертификатами от вендора Sectigo (бывший Comodo). Сами сертификаты продолжали оставаться в полном порядке, однако "протух" один из промежуточных CA-сертификатов в цепочках, с которыми поставлялись данные сертификаты. Ситуация не сказать, чтобы фатальная, но неприятная: актуальные версии браузеров ничего не заметили, однако большая часть автоматизаций и старых браузеров/ОС оказались не готовыми к такому повороту.

    Хабр не стал исключением, поэтому и написан этот ликбез / postmortem.

    TL;DR Решение в самом конце.

    Опустим базовую теорию про PKI, SSL/TLS, https и прочее. Механика удостоверения сертификатом безопасности домена состоит в построении цепочки из ряда сертификатов до одного из доверенных браузером или операционной системой, которые хранятся в так называемом Trust Store. Этот список распространяется с операционной системой, экосистемой среды исполнения кода или с браузером. Любые сертификаты имеют срок действия, по истечении которого они считаются недоверенными, в том числе сертификаты в trust store. Как выглядела цепочка доверия до наступления рокового дня? Разобраться нам поможет web-утилита SSL Report от компании Qualys.

    Итак, одним из самых популярных "коммерческих" сертификатов является Sectigo Positive SSL (ранее разывался Comodo Positive SSL, сертификаты с этим наименованием ещё в ходу), он является так называемым DV-сертификатом. DV — это самый примитивный уровень сертификации, означающий проверку доступа к управлению доменом у выпускающего такой сертификат. Собственно, DV и расшифровывается как "domain validation". Для справки: ещё есть OV (organization validation) и EV (extended validation), а бесплатный сертификат от Let's Encrypt тоже DV. Для тех, кому по какой-либо причине не устраивает механизм ACME, продукт Positive SSL является самым подходящим по соотношению цена/возможности (однодоменный сертификат стоит около 5-7 долларов за год с суммарным сроком действия сертификата до 2 лет и 3 месяцев).

    Типовой сертификат Sectigo DV (RSA) до недавнего времени поставлялся с такой цепочкой промежуточных CA:

    Certificate #1:
      Data:
        Version: 3 (0x2)
        Serial Number:
          7d:5b:51:26:b4:76:ba:11:db:74:16:0b:bc:53:0d:a7
        Signature Algorithm: sha384WithRSAEncryption
          Issuer: C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority
          Validity
            Not Before: Nov  2 00:00:00 2018 GMT
            Not After : Dec 31 23:59:59 2030 GMT
          Subject: C=GB, ST=Greater Manchester, L=Salford, O=Sectigo Limited, CN=Sectigo RSA Domain Validation Secure Server CA
    Certificate #2:
      Data:
        Version: 3 (0x2)
        Serial Number:
          13:ea:28:70:5b:f4:ec:ed:0c:36:63:09:80:61:43:36
        Signature Algorithm: sha384WithRSAEncryption
          Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
          Validity
            Not Before: May 30 10:48:38 2000 GMT
            Not After : May 30 10:48:38 2020 GMT
          Subject: C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority

    Здесь отсутствует "третий сертификат", самоподписной от AddTrust AB, так как в какой-то момент времени стало считаться правилом плохого тона включать в цепочки самоподипсанные корневые сертификаты. Можно обратить внимание, что промежуточный CA, выданный UserTrust от AddTrust имеет срок действия 30 мая 2020 года. Это не спроста, так как для данного CA была запланирована процедура вывода из эксплуатации. Считалось, что к 30 мая 2020 года во всех trust store уже к этому времени появится кросс-подписанный сертификат от UserTrust (под капотом это один и тот же сертификат, вернее публичный ключ) и цепочка, даже с включенным недоверенным уже сертификатом будет иметь альтернативные пути построения и никто этого не заметит. Однако, планы разбились о реальность, а именно пространный термин "legacy systems". Действительно, владельцы актуальных версий браузеров ничего не заметили, однако сломалась гора автоматизаций, построенных на curl и ssl/tls-библиотеках ряда языков программирования и сред исполнения кода. Надо понимать, что многие продукты не руководствуются встроенными в ОС средствами построения цепочек, а "носят" свой trust store с собой. И не всегда они содержат то, что хотело бы видеть CA/Browser Forum. Да и в Linux далеко не всегда обновляются пакеты типа ca-certificates. В итоге всё вроде в порядке, но что-то не работает то там, то здесь.

    По рисунку 1 понятно, что хоть и у подавляющего большинства всё выглядело как обычно, у кого-то что-то сломалось и трафик заметно просел (левая красная черта), потом он подрос, когда заменили один из ключевых сертификатов (правая черта). Были всплески и посередине, когда меняли иные сертификаты, от которых тоже что-то зависело. Так как у большинства визуально всё продолжало работать более-менее штатно (за исключением странных глюков типа невозможности загрузки картинок на Habrastorage), можно сделать косвенный вывод о количестве legacy-клиентов и ботов на Хабре.

    Рисунок 1. График "трафика" на Хабре.
    Рисунок 1. График "трафика" на Хабре.

    По рисунку 2 можно оценить, как строится в актуальных версиях браузеров "альтернативная" цепочка до доверенного CA-сертификата в браузере пользователя, даже при наличии "протухшего" сертификата в цепочке. Это, как считала сама Sectigo, тот самый повод не делать ничего.

    Рисунок 2. Цепочка до доверенного сертификата современной версии браузера.
    Рисунок 2. Цепочка до доверенного сертификата современной версии браузера.

    А вот на рисунке 3 можно заметить, как всё выглядит на самом деле, когда что-то пошло не так и у нас legacy система. В таком случае соединение HTTPS не устанавливается и мы видим ошибку типа "certificate validation failed" или подобную ей.

    Рисунок 3. Цепочка инвалидировалась, так как корневой сертификат и подписанный им промежуточный "протухли".
    Рисунок 3. Цепочка инвалидировалась, так как корневой сертификат и подписанный им промежуточный "протухли".

    На рисунке 4 мы уже видим "решение" для legacy систем: есть ещё один промежуточный сертификат, вернее "кросс-подпись" от иного CA, который как правило предустановлен в legacy системах. Это то, что нужно сделать: найти этот сертификат (который помечен как Extra download) и заменить им "протухший".

    Рисунок 4. Альтернативная цепочка для legacy систем.
    Рисунок 4. Альтернативная цепочка для legacy систем.

    К слову: у проблемы не было широкой огласки и какого-то общественного обсуждения, в том числе из-за излишней самонадеянности Sectigo. Вот, например, мнение одного из поставщиков сертификатов в отношении к данной ситуации:

    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.

    Я лично задавал вопрос на Stack Overflow на этот счёт месяц назад, но судя по всему, аудитория проекта не очень подходящая для таких вопросов, так что пришлось не него ответить самостоятельно по факту разбора.

    Sectigo выпустил на этот счёт FAQ, но он настолько нечитабельный и пространный, что пользоваться им невозможно. Вот цитата, являющаяся квинтэссенцией всей публикации:

    What You Need to Do
    For most use cases, including certificates serving modern client or server systems, no action is required, whether or not you have issued certificates cross-chained to the AddTrust root.

    As of April 30, 2020:  For business processes that depend on very old systems, Sectigo has made available (by default in the certificate bundles) a new legacy root for cross-signing, the “AAA Certificate Services” root. However, please use extreme caution about any process that depends on very old legacy systems. Systems that have not received the updates necessary to support newer roots such as Sectigo’s COMODO root will inevitably be missing other essential security updates and should be considered insecure. If you would still like to cross-sign to the AAA Certificate Services root, please contact Sectigo directly.

    Очень нравится тезис "very old", конечно. Например, curl в консоли Ubuntu Linux 18.04 LTS (нашей базовой ОС на данный момент) с последними обновлениями не старше месяца, сложно назвать very old, однако оно не работает.

    Большинство дистрибьютеров сертификатов выпустили свои заметки с решениями ближе к вечеру 30 мая. Например, очень годная в техническом плане от NameCheap (с конкретным описанием что делать и с готовыми сборками CA-bundles в zip-архивах, но только RSA):

    Рисунок 5. Семь шагов, чтобы быстро всё починить.
    Рисунок 5. Семь шагов, чтобы быстро всё починить.

    Есть неплохая статья от Redhat, но там всё более Legacy и нужно инсталлировать даже ещё более корневой legacy сертификат от Comodo, чтобы всё работало.

    Решение со стороны сервера

    Стоит продублировать решение ещё и тут. Ниже располагаются два набора цепочек для сертификатов DV Sectigo (не Comodo!), одна для привычных RSA сертификатов, другая для менее привычных ECC (ECDSA) сертификатов (мы используем две цепочки достаточно давно). С ECC было сложнее, так как большинство решений не учитывает наличие таких сертификатов в силу их малой распространённости. В итоге, нужный промежуточный сертификат был найден на crt.sh.

    Цепочка для сертификатов, основанных на алгоритме ключа RSA. Сравните со своей цепочкой и обратите внимание, что заменился только нижний сертификат, а верхний остался прежним. Я их отличаю в бытовых условиях по последним трём символам блоков base64 не считая символа "равно" (в данном случае En8= и 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-----

    Цепочка для сертификатов, основанных на алгоритме ключа ECC. Аналогично с цепочкой для RSA, заменился только нижний сертификат, а верхний остался прежним (в данном случае fmA== и 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-----

    Решение со стороны клиента

    Внимание! Тут далее по тексту размещаются сертификаты безопасности и предложения их импортировать в систему. Это референс! Не надо бездумно импортировать их в trust store и делать доверенными. Мы в Интернете и тут нельзя никому доверять (даже Хабру, sad but true)! Если просто импортировать промежуточные сертификаты, как правило, достаточно безопасно (не делая их вручную "доверенными", они наследуют доверие сами и без вас), то импортировать самоподписные руты надо строго включая мозг и сверяя отпечатки сертификатов с эталонными значениями, указанными на сайтах вендоров сертификатов. Praemonitus, praemunitus.

    Как правило, если владелец сервера с проблемным сертификатом уже заменил цепочку, то на стороне клиента делать ничего не нужно, так как недостающий промежуточный сертификат имеет кросс-подпись от достаточно старого CA, который с большей долей вероятности уже был заботливо предустановлен в trust store даже сильно legacy-системы при царе Горохе. И всё должно работать.

    Но бывают случаи, что владелец сервера либо не в курсе проблемы, либо не обладает должной компетенцией для её решения, либо решать проблему банально некому, ибо сервер на лютом аутсорсе, и всем в принципе наплевать (что-то на уровне проблемы индейцев и шерифа). А попасть на такой сервер надо из под системы не первой свежести. Как показали комментарии, к сожалению, такие случаи определённо носят достаточно массовый характер.

    Есть известная проблема реализации построения цепочек PKI в ряде старых крипто-библиотек (некотоорые версии OpenSSL и GnuTLS, например), которые банально не умеют строить множество цепочек от нескольких доверенных якорей к конечному сертификату. То есть, они воспринимают цепочку доверия как линейную сущность, а не направленный граф. Первой помощью в таких системах будет удаление из trust store или отключение почившего корневого сертификата AddTrust External CA Root. Выглядит он так:

    # Subject: /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
    # Algo: RSA, key size: 2048
    # Issuer: /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
    # Not valid before: 2000-05-30T10:48:38Z
    # Not valid after: 2020-05-30T10:48:38Z
    # SHA-1 Fingerprint: 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68
    # SHA-256 Fingerprint: 68:7F:A4:51:38:22:78:FF:F0:C8:B1:1F:8D:43:D5:76:67:1C:6E:B2:BC:EA:B4:13:FB:83:D9:65:D0:6D:2F:F2
    -----BEGIN CERTIFICATE-----
    MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
    MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
    IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
    MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
    FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
    bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
    dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
    H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
    uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
    mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
    a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
    E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
    WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
    VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
    Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
    cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
    IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
    AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
    YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
    6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
    Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
    c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
    mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
    -----END CERTIFICATE-----

    Конечно, хорошим подспорьем будет обновить OpenSSL, например, в случае проблем именно с этой библиотекой. Но зачастую это практически невозможно, ибо мало заменить библиотеку с удовлетворением зависимостей, надо ещё и пересобрать софт, использующий эту библиотеку. Для большинства это непреодолимый квест и практически гарантированная возможность доломать систему до конца. В случае GnuTLS также гарантировано отдельное развлечение, местами даже пободрее, чем с OpenSSL. Весьма подробная заметка на OpenNET.

    Далее, сделует проверить, что тот самый престарелый, но действительный сертификат AAA Certificate Services от Comodo, выпустивший в качестве подорожника кросс-подпись, наличествует в trust store ОС или браузера клиента. Идентифицировать его можно по следующим атрибутам:

    # Subject: /C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
    # Algo: RSA, key size: 2048
    # Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
    # Not valid before: 2004-01-01T00:00:00Z
    # Not valid after: 2028-12-31T23:59:59Z
    # SHA-1 Fingerprint: D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
    # SHA-256 Fingerprint: D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
    -----BEGIN CERTIFICATE-----
    MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
    MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
    GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
    YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
    MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
    BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
    GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
    ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
    BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
    3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
    YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
    rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
    ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
    oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
    MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
    QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
    b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
    AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
    GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
    Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
    G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
    l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
    smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
    -----END CERTIFICATE-----

    Если такой сертификат отсутствует, то надо его импортировать в trust store и сделать доверенным. Без него не будет вообще работать ничего, даже если владелец сервера выполнит рекомендации. Но повторюсь: он должен быть в поодавляющем числе trust store систем и браузеров.

    Далее, вторым шагом может стать импорт пачки промежуточных сертификатов, покрывающих большую часть случаев битой цепочки со стороны клиента. На самом деле, упомянутый выше "дедушка" сертификатов наплодил немало дочерних CA, с полным списком можно ознакомится внизу этой страницы. Но нам все не нужны, нам нужно только четыре. Два для продуктов под брендом Comodo и два для продуктов под брендом Sectigo, в каждой паре один для сертификатов, основанных на ключе RSA, а второй для ECDSA.

    USERTrust RSA Certification Authority (под ним "ходят" разные промежуточные сертификаты RSA Sectigo):

    # 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-----

    USERTrust ECC Certification Authority (под ним "ходят" разные промежуточные сертификаты ECDSA Sectigo):

    # 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-----

    COMODO RSA Certification Authority (под ним "ходят" разные промежуточные сертификаты RSA Comodo, ещё не выведенные из эксплуатации):

    # Subject: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO 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: 2004-01-01T00:00:00Z
    # Not valid after: 2028-12-31T23:59:59Z
    # SHA-1 Fingerprint: 8D:4C:4A:23:BA:9E:E8:4E:A7:34:8F:A9:8C:C6:E6:5F:BB:69:DE:7B
    # SHA-256 Fingerprint: 38:39:2F:17:CE:7B:68:2C:19:8D:29:C6:E7:1D:27:40:96:4A:20:74:C8:D2:55:8E:6C:FF:64:C2:78:23:F1:29
    -----BEGIN CERTIFICATE-----
    MIIFfjCCBGagAwIBAgIQZ970PvF72uJP9ZQGBtLAhDANBgkqhkiG9w0BAQwFADB7
    MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
    VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
    AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4
    MTIzMTIzNTk1OVowgYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1h
    bmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBM
    aW1pdGVkMSswKQYDVQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9y
    aXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTd
    xc9EZ3SZKzejfSNwAHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH
    9IY+Cvo+XPmT5jR62RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Z
    f7X8Z0NyvQwA1onrayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a
    5JtsaZn4eEgwRdWt4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNG
    N4Tr6MyBSENnTnIqm1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R
    7Qu2XK8sYxrfV8g/vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0
    Czr56ENCHonYhMsT8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMAR
    gexWO/bTouJbt7IEIlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMo
    YX9w0MOiqiwhqkfOKJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKI
    f6MzOi5cHkERgWPOGHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPyw
    TEHl7R09XiidnMy/s1Hap0flhFMCAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSgEQoj
    PpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQw
    DgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRV
    HSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0FB
    QUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEF
    BQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4IB
    AQB/8lY1sG2VSk50rzribwGLh9Myl+34QNJ3UxHXxxYuxp3mSFa+gKn4vHjSyGMX
    roztFjH6HxjJDsfuSHmfx8m5vMyIFeNoYdGfHUthgddWBGPCCGkm8PDlL9/ACiup
    BfQCWmqJ17SEQpXj6/d2IF412cDNJQgTTHE4joewM4SRmR6R8ayeP6cdYIEsNkFU
    oOJGBgusG8eZNoxeoQukntlCRiTFxVuBrq2goNyfNriNwh0V+oitgRA5H0TwK5/d
    EFQMBzSxNtEU/QcCPf9yVasn1iyBQXEpjUH0UFcafmVgr8vFKHaYrrOoU3aL5iFS
    a+oh0IQOSU6IU9qSLucdCGbX
    -----END CERTIFICATE-----

    COMODO ECC Certification Authority (под ним "ходят" разные промежуточные сертификаты ECDSA Comodo, ещё не выведенные из эксплуатации):

    # Subject: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO 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: 2004-01-01T00:00:00Z
    # Not valid after: 2028-12-31T23:59:59Z
    # SHA-1 Fingerprint: 56:C9:BC:D6:31:69:B3:7F:18:81:56:16:8E:78:98:40:3A:C6:42:E4
    # SHA-256 Fingerprint: 53:61:25:13:97:0B:9F:26:4C:A4:BC:C3:BF:D8:4D:BC:5F:E7:74:E3:C6:29:5B:3E:BB:99:EB:9D:74:06:9E:2A
    -----BEGIN CERTIFICATE-----
    MIID0DCCArigAwIBAgIQFuWGeOBwlDlL39tO/KY73zANBgkqhkiG9w0BAQwFADB7
    MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
    VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
    AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4
    MTIzMTIzNTk1OVowgYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1h
    bmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBM
    aW1pdGVkMSswKQYDVQQDEyJDT01PRE8gRUNDIENlcnRpZmljYXRpb24gQXV0aG9y
    aXR5MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEA0d7L3XJghWF+3XkkRbUq2KZ9T5S
    CwbOQQB/l+EKJDwdAQTuPdKNCZcM4HXk+vt3iir1A2BLNosWIxatCXH0SvQoULT+
    iBxuP2wvLwlZW6VbCzOZ4sM9iflqLO+y0wbpo4HyMIHvMB8GA1UdIwQYMBaAFKAR
    CiM+lvEH7OKvKe+CpX/QMKS0MB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nT
    eTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zARBgNVHSAECjAIMAYG
    BFUdIAAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
    QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNAYIKwYBBQUHAQEEKDAmMCQGCCsG
    AQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZIhvcNAQEMBQAD
    ggEBAHjsU4nMWJ1jJdsVWxa5HLKxt/Sqib3Q3lS5DHsjKGKRfUDdSFnlAiG3Vll+
    pX8MHWp4E0PgONUsALAM+7HcSCWDcNnkguU8PovJrH0XMBfXS1Pm3tXpUwBd/sj1
    aZUekAaDZ9Ww02ZKaCDON9X/jKsRG6j5koYCtWuS4hH/GEvLDPX+VCPCcC+NKMjU
    VxP8AzvKBA/5CSp+1C3pXY8X4cRyjCWJFScGWOioc+NAaQZtGrJ5pp0WqASWeQYJ
    b2uQlNzRYBFWgodwJX8Kx7rSAPJHX3LgVsZtL7a+bOzRKQCoeRmtRo9V9jNJH8HJ
    MppQ/qXxmyYQTzbZCA3K17HKM8w=
    -----END CERTIFICATE-----

    По идее, после таких манипуляций всё должно заработать. Разные операционные системы имеют разные механизмы шатания их trust store, в каждом конкретном случае надо обращаться к документации, как это делается. Надо отдать должное, этот случай достаточно сильно переполошил веб и большинство мэйнтейнеров ОС и иных систем выпустили свои FAQ, которые легко ищутся по ключевым словам fix sectigo certificate issue in {{ system_name }} или схожим в большинстве поисковиков.


    Вот примерно всё так. Спасибо за внимание.

    Хабр
    Создаем и развиваем сервисы для гиков

    Комментарии 45

      0
      Столкнулся с этой проблемой вчера. Наш сертификат как раз Sectigo Positive SSL. Посетители нашего сайта вроде как ничего не заметили, но скрипты, которые обменивались по curl между различными инстансами на наших доменах работать перестали. Точнее так: на серверах на Ubuntu 18.04 всё работало как прежде, а на серверах с Ubuntu 16.04 (с версией OpenSSL 1.0.2) выдавало SSL Certificate Problem: Certificate has expired.

      Изначально я попробовал такое решение.
      1. Отредактировать /etc/ca-certificates.conf и удалить/закомментировать строчку mozilla/AddTrust_External_Root.crt.
      2. Выполнить apt update && apt install ca-certificates и update-ca-certificates -f -v

      Какое-то время всё работало нормально, однако сегодня проблема снова вылезла, удалённый сертификат просто добавился в конец файла.

      В итоге просто пересоздал цепочку онлайн на сайте whatsmychaincert.com. Пока вроде работает без побочных эффектов.
        0

        Интересный сервис. Интересно, работает ли он с дуальными цепочками RSA+ECDSA?

          0
          Не знаю. С моим сертификатом сработало, а дальше я не копал.
            +2
            Вы разработчик habr?
            Тогда вопрос, а *.habramail.net кто исправлять будет? www.hardenize.com/report/habr.com/1591127655#email_certs
            COMODO RSA Certification Authority | 4f32d5d и
            AddTrust External CA Root | 687fa45 все еще в списке.
              +1

              Спасибо, не углядели.

        0
        Миниатюра «Ёжики и кактус»
        Использовать Let's Encrypt, не?
          +5

          LE не всем подходит, особенно когда инсталляция распределённая и чтобы отработал ACME через well-known, надо свистнуть очень хорошо и уже с помощью полусамодельного клиента. Иногда именно LE превращается в ежей и кактусы. И упаси бог использовать дефолтный certbot, который не умеет ничего, кроде как выпускать сертификат для админов локалхоста.

            +2
            Не нужно well-known, есть же проверка через запись в DNS.

            Получаете wildcard сертификат и размещаете его по серверам любым удобным способом.
              0

              DNS-01 challenge требует реализации API сервисом управления зонами для горы клиентов и перераспределения прав редактирования зоны. Тоже так себе решение. Wildcard тоже не всегда покрывает все потребности, это не волшебная пилюля.


              У ACME есть несомненные плюсы, но есть и немало минусов. Никто не отговаривает им пользоваться, но решений может всегда быть больше чем одно.

              +2

              Вот кстати чтобы отработал ACME ничего сложного делать не надо. Я просто проксировал со всех серверов .well-known на один сервер со стандартным cert-bot'ом.
              А вот чтобы раскидать сертификат повсюду уже потребуется небольшой слой автоматизации.

              0

              Я вот использую, а вот некоторые внешние сервисы нет, и что-то меня LE не спас...

                +2
                Можно. Но в моей ситуации (3 домена второго уровня и тысячи поддоменов) гораздо незаморочнее использовать один wildcard сертификат на все домены, чем заморачиваться с Let's Encrypt. Когда я начинал пользоваться Sectigo, wildcard-сертификаты на LE ещё не были возможны. Сейчас попроще, но всё равно можно один раз поставить и на полтора года забыть и не бояться что-то слетит.
                +1
                $ trust dump --filter "pkcs11:id=%AD%BD%98%7A%34%B4%26%F7%FA%C4%26%54%EF%03%BD%E0%24%CB%54%1A;type=cert" > /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
                $ update-ca-trust extract

                © opennet
                Для клиентов с centos

                  +1

                  Спасибо за статью. Вчера очень бомбило от этой ситуации. Отвалились чеки на пингдоме, отвалились агенты датадога. Поведение Sectigo очень безответственное. Мало того что торгуют воздухом, так еще и торгуют протухшим воздухом. На последнем дебиане точно так же не работал курл к ресурсам. На убунте все ок.

                    +1

                    Можете их бойкотировать и начать пользоваться LE. Вряд ли Вам нужен сертификат более "защищенный", чем DV.

                    0
                    У меня отвалились апи на ноде и несколько серверов, у нас сертификат Wildcard на два года, сейчас меняем везде, повезло что ещё вчера прочитал заметку в новостях, нет слов от этой радости
                      0

                      Просто жесть — половина интернета (условно) может перестать работать из-за какой-то оплошности (!)

                        0
                        Сегодня не мог авторизоваться на Хабре, ESET NOD32 блокировал страницу авторизации, заявляя о внезапной смене сертификата сервером. До тех пор пока на время не отключил инспекцию HTTPS — так и не пускал.
                          0

                          Какая-то вредная функция. Сертификат можно менять каждые 5 минут — это не криминал. Тем более, если пины HPKP продолжают совпадать.

                        +1
                        Проблема 2020 подкралась незаметно :)
                          0
                          Вопрос: а как эту проблему починить на стороне клиента — в частном случае, хром на 6-м андроиде?
                            0

                            Если на стороне сервера ничего не исправлено, то в теории, может помочь установка промежуточного сертификата CA в trust store телефона и обозначение его доверенным. Либо он самостоятельно наследует доверенность, если уже есть в системе сертификат Comodo и цепочка строится.

                              0
                              А как это (установка промежуточного сертификата CA в trust store телефона и обозначение его доверенным) сделать? Ничего умнее чем (благо рут есть на планшете) покопаться в потрохах девайса и закинуть на него файлики android.googlesource.com/platform/system/ca-certificates/+/master/files пока на ум не пришло :(

                              P.S. Сервер — одна госконтора. Так что шансы, что исправят на стороне сервера, почти нулевые :(
                              P.P.S. Кстати, началось всё отнюдь не 30-го, а где-то в середине прошлой недели.
                                0

                                На айфоне вполне легально можно импортировать рутовый сертификат и выставить флаг доверия к нему. На андройде (не помню каком) я в своё время импортировал рутовый сертификат для корпоративного VPN. В целом, процесс импорта промежуточного CA не выглядит чем-то сильно отличающимся, на сколько я понимаю.

                              0

                              Дело не в клиенте, вернее не только в клиенте. Чтобы всё работало на старых девайсах, на стороне сервера нужно поставить AAA cross signed cert. Скачать можно прямо у Сектиго тут https://support.sectigo.com/Com_KnowledgeDetailPage?Id=kA01N000000rfBO

                                0
                                О, спасибо! Установка этого варианта сертификата решила проблему как минимум на имеющемся в руках тестовом android 5, который до этого не хотел работать никакими силами, хотя все чекеры сертификатов ошибок не показывали.
                                  0

                                  Кстати, вполне себе выход на древних системах импортировать этот сертификат в trust store, чтобы получить доступ к сайтам, где ошибочкая цепочка. Только сертификата всего четыре как минимум: RSA для Comodo, RSA для Sectigo, ECC для Comodo и ECC для Sectigo. Наверное, это выход для всяких древних андроидов и линусков.

                                0
                                Может кто-то подсказать как обновить корневой сертификат на CentOS 6?

                                Пробовал сделать по гайду:
                                скачал файл USERTrust RSA Root xSigned using AAA CA [ Cross Signed ] (domain), далее скопировал в /etc/pki/ca-trust/source/anchors/ и выполнил update-ca-trust extract
                                Но ничего не поменялось. Не понимаю что делаю не так.
                                  0

                                  Кроме факта возможной некорректной установки, надо понимать, что не все приложения используют системный trust store. Если не работает curl/openssl, то можно попытаться продиагностировать цепочку в дебаг режиме. У всяких поделок на питоне или раби (и многих иных), свой собственный trust store может затягиваться в vendor директорию при сборке бандла (venv/bundler/npm и тысячи их).

                                    0
                                    Да, проблема в запросах curl. Сайт работает нормально, хотя при проверке ssl
                                    USERTrust RSA Certification Authority
                                    Sat, 30 May 2020 10:48:38 UTC (expired 2 days, 3 hours ago) EXPIRED

                                    Есть ли какой-то способ убедиться что изменения сделаны после команды обновления?
                                    Еще не уверен надо ли делать синхронизацию cert-sync /etc/ssl/certs/ca-certificates.crt
                                      0

                                      За конкретно редхат не скажу, но технически все сертификаты из бандла должны просто собраться в текстовую колбасу по предопределённому пути на фс и это де-факто и есть trust store. Вам надо найти этот файл и разыскать там требуемый сертификат. Ну и как-то понять из дебага curl, что он лезет в этот файл и не использует какой-то кэш для этого.

                                        0
                                        Как-то так и есть, но так и не смог сделать. В centos просто нет инструментов для управления сертификатами. Можно добавить новые, но не убрать старые.
                                        Решил временным фиксом curl.
                                  0
                                  Добрый день!
                                  На IIS висит сертификат от Sectigo на браузерах ошибок при входе на узлы нет, но вот передача данных от партнера работать 30го перестала. Sectigo прислал комплект корневых сертификатов сегодня по моему запросу — «исправленых». Я их на сервере проинсталлировал, но партнер прислал что все равно ошибки есть:

                                  01.06.2020 15:49:49.125 105 Host:«APP-TIBCO009» Zone:«Prod» «Adp_Concierge_DMZ_root» «Processes/In/Client/SendRequest» 52fc2b89-c9e6-424b-bca8-bbdc3f7587a7 Ошибка в адаптере Conserge24!

                                  Job-173015 Error in [Utils/CallConserge24.process/Send HTTP Request]

                                  An IOException was thrown while trying to execute the Http method

                                  at com.tibco.plugin.share.http.client.JakartaHttpTransportDriver$RequestExecutor.run(Unknown Source)

                                  at com.tibco.pe.util.ThreadPool$ThreadPoolThread.run(Unknown Source)

                                  caused by: java.io.IOException: Failed to create secure client socket: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: com.tibco.security.AXSecurityException: could not find trusted CA certificate with DN 'CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB' that signed certificate with DN 'CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US'

                                  Что я делаю не так?
                                    0

                                    Я бы порекомендовал проверить через сервис https://www.ssllabs.com/ssltest/analyze.html ваш домен, скорее всего сразу всё будет видно, где в цепочке всё плохо, а также сэмулировать, насколько сертификат будет приниматься определённой версией клиента (у вас клиент java, можно проверить, насколько такой https-сервер будет работать из под нужной версии jvm). И да: вы можете бесплатно перегенерировать свой сертификат, после чего он будет выпущен не Comodo, а уже Sectigo с теми же параметрами и сроком действия, что и у старого сертификата. К нему подойдёт цепочка, указанная в публикации.

                                      0
                                      При проверке вопрос возник к этому блоку картинка хотя старый сертификат ЦС на сервере я удалил
                                        0

                                        Как бы то ни было, ваш сервер посылает его с цепочкой. Посмотрите ниже блок с путями, там наверняка будет картинка похожая на рисунок 3 в посте.

                                          0
                                          Прошу извинить за малоопытность — правильно ли я понимаю, что в требуется оснастке mmc открыть сертификаты — вычистить все старые корневые, чтоб не путаться и установить новые? но при этом сам наш сертификат можно не трогать?
                                            0

                                            Насколько я помню в Windows да, нужно все собирать в оснастке mmc для сертификатов. Вот вроде тут как раз решали схожую проблему (рекомендую прочитать также весь тред по ссылке).

                                    +1
                                    У нас есть система с Debian 7 (которая давно EOL), но проблему надо было решить срочно (так как это важная прод-система).

                                    Так вот, сначала я скачал и поставил самый свежий пакет ca-certificates с Ubuntu 20.04:
                                    wget -P /tmp/ https://launchpadlibrarian.net/482337778/ca-certificates_20190110ubuntu1.1_all.deb
                                    dpkg -i /tmp/ca-certificates_20190110ubuntu1.1_all.deb

                                    Но он не поставился, было много ошибок. Потом я подключил репозитории от Debian 10
                                    nano /etc/apt/sources.list
                                    комментим всё и добавляем:
                                    deb http://ftp.by.debian.org/debian/ buster main contrib non-free
                                    deb-src http://ftp.by.debian.org/debian/ buster main contrib non-free


                                    и сделал apt-get update; apt-get -f install.

                                    И всё заработало, как ни странно. Конечно, это временное решение, скорее всего какие-то проблемы всплывут дополнительно, но сейчас мы можем мигрировать на Ubuntu 20.04 в более спокойном режиме, мы выиграли время.

                                    Я не призываю никого так делать, но вдруг кому-то пригодится. Само собой, создайте снепшот сервера перед этими манипуляциями.
                                      +1

                                      Я понял, что немного однобоко описал проблему только со стороны владельца сервера со стухшим сертификатом, но едва коснулся проблемы со стороны клиента, при случае, если владаелец сервера упорот и не собирается ничего менять (например, мы столкнулись с сервером CDN Тильды, откуда php-curl не может ничего утащить). Пожалуй, дополню публикацию.

                                      +1
                                      При использовании python (и любого другого софта под Win, использующего что-то свое для SSL вместо виндового SCHANNEL, но при этом смотрящего в виндовое хранилище сертификатов) на Windows 8/Server 2012 и выше, включая последнии версии Win10 со всеми обновлениями, в определенных условиях могла так же всплыть проблема урезанного хранилища корневых сертификатов.
                                        0
                                        Подписал 31 мая приложение через конвейер, все как обычно. Какого было мое удивление, когда при установке приложения мне выдалось предупреждение о неизвестном авторе. Проверил еще раз сертификат, все нормально. Подпись есть. Оказалось, что сертификат, которым подписывалась временная метка от Sectigo стал недействительным. Поменял с Sectigo на DigiCert и подпись опять стала работать.

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое