Экспорт SSL Сертификата Сайта

Однажды вам может понадобиться получить SSL-сертификат сайта и сохранить его локально.

Например, вы можете получить сообщение об ошибке, что не можете клонировать Git-репозиторий из-за самоподписанного сертификата, и для решения этой проблемы вам нужно будет скачать SSL-сертификат и сделать его доверенным для вашего Git-клиента.

В следующей статье я покажу, как скачать SSL-сертификат с сервера (по URL сайта) с помощью браузеров Google Chrome, Mozilla Firefox и Internet Explorer, а также как получить SSL-сертификат из командной строки, с помощью openssl.

Дельный Совет: Создание самоподписанного SSL-сертификата! Читать Далее →

Экспорт SSL Сертификата Сайта

Google Chrome

Экспорт SSL-сертификата веб-сайта с помощью Google Chrome:

  1. В адресной строке кликните на кнопку Secure (замок)
  2. Кликните Show certificate
  3. Перейдите на вкладку Details
  4. Кликните Export
  5. Укажите имя файла, в который вы хотите сохранить SSL-сертификат, оставьте формат «Base64-encoded ASCII, single certificate» и кликните на кнопку Save

Mozilla Firefox

Экспорт SSL-сертификата веб-сайта с помощью Mozilla Firefox:

  1. В адресной строке кликните на кнопку Site Identity (замок)
  2. Кликните на стрелку Show connection details
  3. Кликните More Information
  4. Кликните View Certificate
  5. Перейдите на вкладку Details
  6. Кликните Export
  7. Укажите имя файла, в который вы хотите сохранить SSL-сертификат, оставьте формат «X.509 Certificate (PEM)» и кликните на кнопку Save

Дельный Совет: Узнайте срок действия SSL сертификата из командной строки в Linux! Самый быстрый способ! Читать далее →

Internet Explorer

Загрузите и сохраните SSL-сертификат сайта с помощью Internet Explorer:

  1. В адресной строке кликните на кнопку Security report (замок)
  2. Кликните View Certificate
  3. Перейдите на вкладку Details
  4. Кликните Copy to File...
  5. Кликните Next
  6. Выберите формат «Base-64 encoded X.509 (.CER)» и кликните на кнопку Next
  7. Укажите имя файла, в который вы хотите сохранить SSL-сертификат
  8. Кликните на Next, а затем на кнопку Finish

OpenSSL

Получите SSL-сертификат сайта с помощью openssl:

$ echo | openssl s_client -servername NAME -connect HOST:PORT |\
  sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > certificate.crt

Краткое пояснение:

Опция Описание
-connect HOST:PORT Хост и порт для подключения
-servername NAME TLS SNI (Server Name Indication) расширение (имя сайта)
certificate.crt Сохранить SSL-сертификат в этот файл

Пример:

$ echo | openssl s_client -servername google.com -connect google.com:443 |\
  sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > certificate.crt

9 Replies to “Экспорт SSL Сертификата Сайта”

  1. I’m a bit confused. Not only is Base64 not the default, but also, while some sources agree that Base64 is to be used, other sources advise to use DER instead. If I export and install both formats, will Java automatically pick the correct one over the broken one?

    1. As always, it depends on your Java and its current conventions.

      I guess I’m just here to remind that either way it’s likely good to plan for something more robust to keep things from breaking.

  2. EHX, yes Base64 is not the default and the guide is not updated (Chrome) I solved by just saving the certificate (checking the Base64 option) to an existing local file, then used it in my certificate-pinning implementation (Android and Kotlin but the concept is the same in Java)

  3. In chrome on a mac, there is no longer an option to export the certificate. However, you may drag it to a finder window.

  4. If I use $ echo | openssl s_client -servername google.com -connect google.com:443 |\
    sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ > certificate.crt
    In osx high Sierra I got «sed command not found». Although Im pretty sure I have it installed, as if I run just «sed» it is listed there.

  5. old: …:443 |\ sed …
    new: …:443 | sed …

    new error:
    «verify error:num=20:unable to get local issuer certificate»

  6. I can’t use google search in ANY browser and i tried almost every possible «solution» in the internet…
    This is the problem…

    NET::ERR_CERT_COMMON_NAME_INVALID
    Subject: www.google.com.pe
    Issuer: DigiCert Global Root G1A
    Expires on: 1 ene. 2031
    Current date: 13 feb. 2021
    PEM encoded chain:
    -----BEGIN CERTIFICATE-----
    MIIDfjCCAmagAwIBAgIQVfsZBcz0XbdO98HCgd+hbzANBgkqhkiG9w0BAQsFADAj
    MSEwHwYDVQQDDBhEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMUEwHhcNMjAwMTAxMTc0
    MzMyWhcNMzEwMTAxMTQ0MzMyWjAcMRowGAYDVQQDDBF3d3cuZ29vZ2xlLmNvbS5w
    ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJkzpf1hd6snJ3A0YLkR
    6NSEWNox3nubLRXiHxRwVpccFFfDb3hfbqCAlAt1rgzRuGKQW3+B/7QUydH+j7/i
    JoQDpbueTcIOPcpF7MMlzfdkiX42Zrg+WKUgK8kGoJFTxSGX1rCVTz+AYjv8B3FB
    /CGY1yT8/dUnVujRVjozNyxVaOlh9h/zQMaL/zt4I5XRYPa+pYbRKubeWfilz+DF
    kfBc434h4piBj5YvczLWj11TlGHVax6ReBNbu+pY6W0/cglw/afXrXbozmqjCNGn
    j5FKbzNKbzroruAbiOadjsDSkgkbiQKdV2Kc4YZ0MZMJiT0dUYs8AeAqK5b7qRiv
    H50CAwEAAaOBtDCBsTATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAA
    MA4GA1UdDwEB/wQEAwIFoDA8BgNVHREENTAzghF3d3cuZ29vZ2xlLmNvbS5wZYIP
    Ki5nb29nbGUuY29tLnBlgg1nb29nbGUuY29tLnBlMB8GA1UdIwQYMBaAFM0xzOHl
    AcRR4Cl+gxYkiZ4H8QwHMB0GA1UdDgQWBBQF1byrgMTFWfwwRlfvraTbhC0PcjAN
    BgkqhkiG9w0BAQsFAAOCAQEA6zs7TfhMkBQb74A5ExeQNRE/kO0hA0FLpQAAIAsI
    15wIqdHU7JAes52BRaMivc/WLAB61ixNKVm+02hPgRZql/cqXl+sWbWkDs4iskNP
    49gfHrHuNHXHum/iYr3SpZ03EFjmF1zwu/DQJt+uWAaSAGVe+FNzRFvVSMqQ10VH
    Fs5XM2J4dAAZkj1f+XZMY1lw9yd8NaQhJA+Z3gaeEvAJ0DfvRZB+nWOANmyyU0yG
    +jm0gtcqUaMAshFz+UE51Hj57YHZ7C/iS5Kuij+KZJr4VG2yjxrKpsKw67TXxRKF
    aUUR3znfUW9UldozGcw0qhxkzepDgIT85ckr+tBP9KgEXg==
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDEjCCAfqgAwIBAgIQWL05hRyt7LxL1Qz6kS+GczANBgkqhkiG9w0BAQsFADAj
    MSEwHwYDVQQDDBhEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMUEwHhcNMTkxMTE5MDk1
    NjQxWhcNMzAxMTE5MDY1NjQxWjAjMSEwHwYDVQQDDBhEaWdpQ2VydCBHbG9iYWwg
    Um9vdCBHMUEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDsP0YG+PXQ
    KMgAexkWGzhnJadzG3UinjmAzRlO5UEaoRRI1gyQR7fiGH3KZLQbg4/W6iom4B9v
    h8Xp0zBMk7issPheCgXclz3gwWSOPfuc0UzmhwoYlYqhThb5dBP7f1uqqxfiR6bn
    xLb2IgjSt/tFXzBACRwgeDbaIt7BwK/ckD3dI92KKGAPFzAM332A6rzO0viH31Cj
    S0Cmzq9HShle0Wf1a5vR1F9anYLcVUAEdTmDi6MQ5zaUzsdtrKa6rc6JEsNXyMY5
    rIxUOxxEZxwH0nI3rcpruYEsmuy5BdUT8IWkZTntbPpsVmADHAgmkeLcuq0N1DmG
    wryKc44IgkyZAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
    AgGGMB0GA1UdDgQWBBTNMczh5QHEUeApfoMWJImeB/EMBzANBgkqhkiG9w0BAQsF
    AAOCAQEAFT0sIlhqhf7DVPne1VCcw2mtqH9PPGjhyhFadSpB5b7SFIqmExafW5f6
    worC4DC4qWth2zfswSqIVbF8XesjhTJ10/ObKmUjA8ppa7UK2TBmPf9JKwnEXj1P
    I/meXlWCH/9riZNUrI0cAjstdUwHMg4BCj9NArbeb36BlNoPpon77Gii+4jLxjqE
    u1AH3eLZaW9eDQdSROVj8ceUThJ4uPjB7TQG81uCS7Pa/SFC5AFdK9Ku/Icz8HIB
    x5ENDz3OjWkBNIUwwJHIgFJrsj9xB7QiWALM/sjxuO6cHYIiIb17U1rZCMKJSNHJ
    mDtl77BKIr4Df52ko+enpKg6c1SHTw==
    -----END CERTIFICATE-----

    I know the problem is the certificate, any ideas?

Добавить комментарий