Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY

Содержание
  1. Проверка правильности установки SSL сертификата онлаин. Справочные материалы по установке и использованию сертификатов безопасности SSL
  2. Что такое private key (pKey) зачем он нужен и с чем его едят?
  3. Где же находится мой Private Key
  4. Apache
  5. Nginx
  6. Windows (IIS)
  7. Где еще может быть мой приватный ключ?
  8. Как найти или восстановить секретный ключ SSL сертификата в среде IIS MicroSoft?
  9. Решение: Чтобы восстановить закрытый ключ, выполните следующие действия
  10. Примеры использования OpenSSL в Unix/Linux
  11. Создание нового приватного ключа (Private Key) и Certificate Signing Request (CSR)
  12. Создание самоподписанного сертификата (Self-Signed Certificate)
  13. Проверка CSR файла
  14. Создать приватный RSA  ключ (Private Key)
  15. Удалить ключевую фразу (Passphrase) с ключа
  16. Проверка сертификата (Certificate)
  17. Проверка подписанного сертификата (Certificate Signer Authority)
  18. Создать тестовый SSL сервер
  19. Конвертирование сертификатов с DER в PEM формат
  20. Конвертирование сертификатов с PEM в DER формат
  21. Конвертирование CSR c DER в PEM формат
  22. Конвертирование сертификата и приватного ключа  в PKCS#12 фотмат
  23. Создание CSR используя  приватный ключ (private key)
  24. Проверьте содержимое сертификата в PKCS12 формате
  25. Конвертирование PKCS12 формата в PEM сертификат
  26. Получить SHA-1 отпечаток сертификата или CSR
  27. Получить MD5 отпечаток сертификата или CSR
  28. Тестирование SSL сертификата по URL
  29. Поверка PEM сертификата на завершение (Expiration Date)
  30. Проверка завершения SSL сертификата (Expiration Date) по URL
  31. Проверить поддержку SSL версии V2/V3  по URL
  32. Проверка поддержки cipher для сайта по URL
  33. Какой алгоритм используется в сертификате (проверка)
  34. Получить сертификат по URL
  35. Создание сертификата OpenSSL
  36. Что такое сертификаты?
  37. Создание закрытого ключа и запроса на подпись
  38. Подпись сертификатов OpenSSL
  39. Просмотр сертификатов
  40. Выводы
  41. Формат SSL сертификата: как конвертировать сертификат в .pem, .cer, .crt, .der, pkcs или pfx?
  42. Формат сертификата PEM
  43. Формат сертификата DER
  44. PKCS # 7 / P7B сертификат
  45. PFX сертификат (формат PKCS # 12)
  46. Конвертация SSL сертификатов в OpenSSL
  47. Онлайн конвертер SSL сертификатов
  48. Конвертация PEM в DER
  49. Конвертация PEM в P7B / PKCS#7
  50. Конвертация PEM в PFX / PKCS#12
  51. Конвертация PFX / PKCS#12 в PEM
  52. Руководство по OpenSSL: SSL-сертификаты, ключи и CSR
  53. Что такое сертификат SSL? Как работает SSL?
  54. В чем разница между TLS и SSL?
  55. Как я могу узнать, защищена ли веб-страница с помощью SSL?
  56. Зачем мне нужен SSL-сертификат?
  57. Где получить сертификат SSL?
  58. Типы SSL-сертификатов
  59. Уровни проверки SSL-сертификатов
  60. Проверка домена (DV SSL – Domain Validation)
  61. Расширенная проверка (EV SSL – Extended Validation)
  62. Как создать сертификат SSL
  63. Установка OpenSSL в Debian и Ubuntu
  64. Генерация самоподписанного сертификата по новым требованиям
  65. Что нового в требованиях Apple
  66. Генерация self-signed сертификатов на MacOS
  67. Генерация самоподписанного сертификата с помощью OpenSSL

Проверка правильности установки SSL сертификата онлаин. Справочные материалы по установке и использованию сертификатов безопасности SSL

Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY

Где мне найти мой Private Key? – общий ответ – Приватный ключ находится рядышком с сертификатом в секретной, специальной, защищенной директории вашего сервера (компьютера) которая обычно называется хранилищем сертификатов.

Что такое private key (pKey) зачем он нужен и с чем его едят?

Для всех SSL-сертификатов для работы требуется закрытый ключ. Закрытый ключ – это отдельный файл, который используется при шифровании / расшифровке данных, отправляемых между вашим сервером и подключающимися клиентами.

Закрытый ключ создается вами – владельцем сертификата – когда вы запрашиваете свой сертификат с помощью запроса подписи сертификата (CSR). Центр сертификации, предоставляющий ваш сертификат, не создает и не имеет ваш закрытый ключ.

Вы храните ваш Приватный ключ как зеницу ока.

Если вы еще не установили свой сертификат, наиболее вероятное местоположение вашего закрытого ключа находится на компьютере или сервере, на котором вы создали CSR. Когда вы сгенерировали эту CSR, вы бы попросили сервер сохранить два файла – для OpenSSL вы можете запустить команду

openssl version –a

чтобы найти папку, в которой будут сохраняться ваши файлы ключей – /usr/local/ssl по умолчанию. В Windows (IIS) процессом создания приватного ключа и запроса CSR управляет операционная система. Она предложит вам создать приватный ключ и потом сделать его экспорт в желаемую директорию

Где же находится мой Private Key

Если ваш сертификат уже установлен, выполните следующие действия, чтобы найти файл секретного ключа для этих популярных операционных систем.

Apache

Местоположение вашего личного ключевого файла будет указано в главном файле конфигурации Apache, который называется httpd.conf или apache2.conf. Директива SSLCertificateKeyFile укажет путь на вашем сервере, где хранится ваш ключ.

OpenSSL, самая популярная библиотека SSL на Apache, по умолчанию сохраняет личные ключи в /usr/local/sslВы можете запустиь вышеуказанную команду openssl version –a чтобы найти OPENSSLDIR, и подтвердить папку, в которой ваш сервер сохраняет ключи.

Nginx

Вы сможете найти местоположение секретного ключа в файле виртуальных хостов вашего сайта. Перейдите к серверному блоку для этого сайта (по умолчанию в каталоге /var/www/).

Откройте основной файл конфигурации для сайта и найдите директиву ssl_certificate_key которая предоставит вам путь к файлу для частного ключа (некоторые пользователи имеют отдельный файл конфигурации для своего SSL, например ssl.conf).

Windows (IIS)

На серверах Windows ОС управляет вашими файлами сертификатов для вас в скрытой папке, но вы можете получить закрытый ключ, экспортировав файл «.pfx», содержащий сертификаты и закрытый ключ.Подробнее процедура трансфера описана в разделе Экпорт-Ипорт сертификатов

Где еще может быть мой приватный ключ?

Если вы работаете с сервером, который обеспечивает рабочие соединения HTTPS, то ключ находится где-то на этом сервере или доступен для этого сервера на другом сервере, в противном случае протокол HTTPS работать не будет.

Возможно, ваша организация использует специальную настраиваемую конфигурацию. Вы можете попробовать выполнить поиск на вашем сервере файла «.key» или выполнить шаги, по установке нового сертификат, которые должны указать где сохранить частного ключ.На некоторых платформах OpenSSL сохранит файл .

key в том же каталоге, откуда была запущена команда -req

Если вы еще не установили сертификат и не можете найти ключ, возможно, он утерян. Если вы создали CSR, но не можете найти файл ключа, проще всего переиздать свой сертификат. Начните с создания нового PrivateKey или CSR , чтобы сохранить закрытый ключ в известном местоположении и соедините сертификат с этим новым ключом.

Частный, секретный, приватный ключ является “ключевым ключом”, который расшифровывает зашифрованные данные, отправленные на сервер во время сеанса SSL. Если секретный ключ был скомпрометирован, зашифрованные данные могут быть легко дешифрованы тем, кто получил этот закрытый ключ.

Таким образом, жизненно важно, чтобы закрытый ключ оставался защищенным на сервере в любое время. Открытый ключа встроена в файл CSR и отправляется в компанию CA.

При одобрении и выдаче сертификата SSL компания Центр сертификации в цифровом виде подписывает открытый ключ и отправляет его вам для установки на сервер в соответствии с вашим закрытым ключом.

Чтобы в общем ответить на вопрос «Где мой закрытый ключ?» – Приватный ключ храниться на сервере или в любом случае доступен серверу.

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

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

Как найти или восстановить секретный ключ SSL сертификата в среде IIS MicroSoft?

SSL-сертификат установлен, но отсутствует закрытый ключ.

Каковы шаги по восстановлению секретного ключа сертификата SSL в среде Microsoft Internet Information Services (IIS)?Сертификаты SSL не включают закрытый ключ.

Закрытый ключ находится на сервере, который сгенерировал запрос подписи сертификата (CSR). При правильной установке сертификат сервера будет соответствовать закрытому ключу, как показано ниже.

Если секретный ключ отсутствует, это может означать:

  • Сертификат устанавливается не на том же сервере, на котором сгенерирован запрос CSR.
  • Отложенный запрос – CSR был удален из IIS.
  • Сертификат был установлен с помощью мастера импорта сертификатов, а не через IIS.

Решение: Чтобы восстановить закрытый ключ, выполните следующие действия

Шаг 1. Конфигурация оснастки

  1. Нажмите кнопку Пуск и выберите команду Выполнить .
  2. Введите mmc и нажмите OK .
  3. В меню «Файл» выберите « Добавить / удалить оснастку» .
  4. В появившемся новом окне нажмите « Добавить» .
  5. Выберите « Сертификаты» и нажмите « Добавить» .
  6. Выберите опцию « Учетная запись компьютера» и нажмите « Далее»
  7. Выберите « Локальный компьютер» и нажмите « Готово»
  8. Нажмите « Закрыть» , а затем « ОК» .

    В консоли появится оснастка для сертификатов (локальный компьютер)

Шаг 2 – Импорт сертификата сервера

Для импорта сертификата сервера в хранилище личных сертификатов выполните следующие действия.
* Если сертификат сервера уже был импортирован в личный хранилище, вы можете пропустить этот шаг.

  1. Разверните дерево сертификатов (локальный компьютер) в левой панели предварительного просмотра.

  2. Щелкните правой кнопкой мыши Личные и выберите « Все задачи> Импорт»
  3. Откроется мастер импорта сертификатов. Нажмите « Далее» .
  4. Перейдите к местоположению файла сертификата сервера и нажмите « Далее»
  5. Выберите « Разместить все сертификаты» в следующем хранилище и нажмите « Далее» .
  6. Нажмите « Готово», чтобы завершить мастер импорта сертификатов.

  7. Появится диалоговое окно с сообщением об успешном завершении импорта. Нажмите « ОК» .

Шаг 3 – Восстановление частного ключа

  1. Найдите файл сертификата сервера (например, server.cer) и дважды щелкните его. Откроется диалоговое окно «Сертификат».
  2. Перейдите на вкладку « Сведения ».

    Запишите 8-значный серийный номер сертификата.

  3. Нажмите Пуск> Выполнить .
  4. Введите cmd и нажмите OK . Откроется окно командной строки.
  5. Введите в командной строке следующую команду:

    certutil –repairstore my

    Где – 8-значный серийный номер, полученный ранее в Шаг 2.

Если Windows смог восстановить закрытый ключ, вы увидите следующее сообщение:

CertUtil:  -repairstore command completed successfully.

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

Источник: https://proverkassl.com/pkey_where_my_private_key.html

Примеры использования OpenSSL в Unix/Linux

Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY

При работе с SSL, нужно уметь работать с утилитой OpenSSL чтобы создавать, конвертировать, управляют SSL-сертификатами. В этой статье «Примеры использования OpenSSL в Unix/Linux» я буду говорить о примерах использования OpenSSL.

Некоторые из сокращений, связанных с сертификатами:

  • SSL – Secure Socket Layer (Безопасный уровень сокета).
  • CSR – Certificate Signing Request (Запрос на подпись сертификата).
  • TLS – Transport Layer Security (Транспортный уровень безопастности).
  • PEM – Privacy Enhanced Mail
  • DER – Distinguished Encoding Rules
  • SHA – Secure Hash Algorithm (Безопасный hash алгорит).
  • PKCS – Public-Key Cryptography Standards (Стандарты шифрования публичных ключей).

Создание нового приватного ключа (Private Key) и Certificate Signing Request (CSR)

Выполняем команду:

# openssl req -out linux-notes.org.csr -newkey rsa:2048 -nodes -keyout linux-notes.org.key

Команда выше будет генерировать CSR и 2048-битный RSA ключ. Если вы собираетесь использовать этот сертификат в Apache или Nginx, то вам необходимо отправить этот CSR файл в службу сертификации и они дадут вам подписанный сертификат в «der» или «pem» формате. После чего вы настроите его на веб-сервере Apache или Nginx.

Так же, можно использовать такой вариант:

$ openssl req -new -newkey rsa:2048 -nodes -out linux-notes.org.csr -keyout linux-notes.org.key -subj “/C=US/ST=Wisconsin/L=Waukesha/O=IT Dept/OU=Linux Notes/CN=linux-notes.org”

Создание самоподписанного сертификата (Self-Signed Certificate)

Выполняем команду:

# openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout LN-selfsigned.key -out LN-cert.pem

Команда выше будет генерировать самоподписанный сертификат (self-signed) и 2048-битный RSA ключ. Я также использую алгорит шифрования — SHA256. Так как он считается наиболее безопасным в данный момент.

Замечание: По умолчанию, будет сгенерирован ключ толкьо на 1 месяц, если нужно создать на более длительное время — используйте опцию «–days», пример использования ниже.

Пример: Чтобы создать self-signed сертификат на 2 год, используйте:

# openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout LN-selfsigned.key -out LN-cert.pem

Проверка CSR файла

Выполням проверку:

# openssl req -noout -text -in linux-notes.org.csr

и вы получите информацию.

Проверка подписи (signature):

$ openssl req -in linux-notes.org.csr -noout -verify

Кем(кому) был выдан сертификат:

$ openssl req -inlinux-notes.org.csr -noout -subject

Показать открытый ключ (public key):

$ openssl req -inlinux-notes.org.csr -noout -pubkey

Создать приватный RSA  ключ (Private Key)

Чтобы это сделать, выполните:

# openssl genrsa -out my_private_rsa.key 2048

Если вам просто нужно генерировать RSA закрытый ключ, вы можете использовать команду что выше. Я включил 2048 шифрование, для безопастности.

Удалить ключевую фразу (Passphrase) с ключа

# openssl rsa -in linux-notes.org.key -check -out nopassphrase.key

Если вы установили ключевую фразу для ключа, то при каждом старте веб-сервера (Apache/Nginx) вы должны будите вводить пароль. Если это вас злит, вы можете с легкостью удалить  passphrase с RSA ключа.

Проверка приватного ключа (Private Key)

# openssl rsa -in my_private.key -check

Если вы сомневаетесь в ключевом файле, вы можете использовать команду что выше для проверки.

Проверка сертификата (Certificate)

Если вы хотите проверить данные сертификата( CN, OU, и т.д.), то вы можете использовать команду, которая даст вам сведения о сертификате:

# openssl x509 -in certfile.pem -text –noout

Команда довольна простая в использовании.

Проверка подписанного сертификата (Certificate Signer Authority)

# openssl x509 -in some_cert.pem -noout -issuer -issuer_hash

Можно узнать много полезного.

Создать тестовый SSL сервер

Команда OpenSSL s_server реализует общий SSL/TLS-сервер. Она должна использоваться только для целей тестирования. В приведенном ниже примере данный сервер прослушивает соединения на порту 8080 и возвращает отформатированную HTML страницу статуса, который включает много информации о ciphers:

$ openssl s_server -key key.pem -cert cert.pem -accept 8080 -www

Конвертирование сертификатов с DER в PEM формат

# openssl x509 -inform der -in LN.der -out LN.pem

Как правило, при покупке SSL сертификатов, его отдают вам в формате .der и если вам нужно использовать его в веб-сервере или .pem формате, вы можете использовать команду выше, чтобы преобразовать такие сертификаты.

Конвертирование сертификатов с PEM в DER формат

В случае, если вам необходимо изменить .pem формат в .der:

# openssl x509 -outform der -in linux-notes.pem -out linux-notes.der

Конвертирование CSR c DER в PEM формат

$ openssl req -in csr.der -inform DER -out csr.pem -outform PEM

Конвертирование сертификата и приватного ключа  в PKCS#12 фотмат

# openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

Если вам необходимо использовать сертификат с приложением Java или с любым другим, кто принимает формат PKCS# 12.

Совет: Вы можете включить «chain certificate» используя «-chain» опцию:

# openssl pkcs12 -export -out my_cert.pfx -inkey my_key.pem -in your_cert.pem -chain the_cert.pem

Создание CSR используя  приватный ключ (private key)

# openssl req -out some_cert.csr -key exists.key -new

Если вы не хотите создать новый секретный ключ, а хотите используя вместо существующего, вы можете с предыдущей командой.

Проверьте содержимое сертификата в PKCS12 формате

# openssl pkcs12 -info -nodes -in my_certificate.p12

PKCS12 — это двоичный формат, так что вы не сможете просматривать содержимое в блокноте или другом редакторе. Таким образом, вы должны использовать команду что выше, для просмотра содержимого файла формата PKCS12.

Конвертирование PKCS12 формата в PEM сертификат

# openssl pkcs12 -in my_certificat.p12 -out the_certificat.pem

Получить SHA-1 отпечаток сертификата или CSR

Чтобы получить отпечаток SHA1 сертификата с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -sha1 my_cert.der

Чтобы получить SHA1 отпечаток пальца CSR с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -sha1 the_csr.der

Получить MD5 отпечаток сертификата или CSR

Чтобы получить отпечаток MD5 сертификата с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -md5 cert.der

Чтобы получить MD5 отпечаток пальца CSR с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -md5 my_csr.der

Тестирование SSL сертификата по URL

# openssl s_client -connect linux-notes.org:443 -showcerts

Я использую это довольно часто для проверки SSL-сертификатов по URL с сервера. Это очень удобно для проверки некоторых деталей протокола, шифров и CERT.

Узнать версию OpenSSL

 # openssl version

Поверка PEM сертификата на завершение (Expiration Date)

# openssl x509 -noout -in cert.pem -dates

Пример:

# openssl x509 -noout -in bestflare.pem -dates notBefore=Jul 4 14:02:45 2015 GMT notAfter=Aug 4 09:46:42 2015 GMT

Проверка завершения SSL сертификата (Expiration Date) по URL

# openssl s_client -connect linux-notes.org:443 2>/dev/null | openssl x509 -noout -enddate

Проверить поддержку SSL версии V2/V3  по URL

Проверка SSL версии V2:

# openssl s_client -connect linux-notes.org:443 -ssl2

Проверка SSL версии V3:

# openssl s_client -connect linux-notes.org:443 -ssl3

Проверка TLS 1.0:

# openssl s_client -connect linux-notes.org:443 -tls1

Проверка TLS 1.1:

# openssl s_client -connect linux-notes.org:443 -tls1_1

Проверка TLS 1.2:

# openssl s_client -connect linux-notes.org:443 -tls1_2

Проверка поддержки cipher для сайта по URL

# openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect linux-notes.org:443

Какой алгоритм используется в сертификате (проверка)

$ openssl req -noout -text -in mycert.csr | grep 'Signature Algorithm'

Или, используя URL:

openssl s_client -connect linux-notes.org:443 < /dev/null 2>/dev/null | openssl x509 -text -in /dev/stdin | grep “Signature Algorithm”

Получить сертификат по URL

Команда что ниже, сохранит сертификат в файл прямо по URL сайта:

$ echo -n | openssl s_client -connect linux-notes.org:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > pem.cert

Если веб-сервер имеет несколько сертификатов на один IP-адрес, то вам нужно будет сообщить OpenSSL, какой сертификат будет использоваться, пример ниже:

$ echo -n | openssl s_client -connect linux-notes.org:443 -servername linux-notes.org | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > pem.cert

Вот и все, много полезностей и все в одной статье «Примеры использования OpenSSL в Unix/Linux».

Источник: https://linux-notes.org/primery-ispol-zovaniya-openssl-v-unix-linux/

Создание сертификата OpenSSL

Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY

В наши дни очень часто для повышения безопасности сетевых соединений или просто для аутентификации используются ssl сертификаты. Одна из самых популярных свободных программ для создания сертификатов – это OpenSSL. Это утилита командной строки, которая позволяет создавать различные виды сертификатов, например, PKI или HTTPS.

В этой статье мы рассмотрим что такое сертификаты, какими они бывают, разберем подробно создание сертификата OpenSSL. Причем рассмотрим каждый этап, чтобы вам было легче понять что и как происходит.

Что такое сертификаты?

Думаю нужно начать с самого начала. Сертификаты в первую очередь позволяют идентифицировать человека, подтвердить что вы тот, за кого себя выдаете. А работает это так – есть два ключа – закрытый и открытый.

Зашифровать сообщение можно с помощью открытого ключа, но чтобы его расшифровать нужен только закрытый ключ. Если у вас нет закрытого ключа, то вы попросту не сможете расшифровать зашифрованное сообщение.

Фактически зашифровать сообщение может каждый, но расшифровать его способен только владелец закрытого (секретного ключа).

Если вы смогли расшифровать отправленное сообщение, зашифрованное с помощью вашего открытого ключа, то значит – это вы. Ключи работают только в паре, и вы не сможете расшифровать ничего другим ключом. Но еще остался один момент.

Как определить что этот открытый ключ именно ваш, например, принадлежит вашему домену? Все просто, достаточно, чтобы кто-то из авторитетных источников, например, Comodo или LetsEncrypt подписал ваш ключ.

Это так называемые центры сертификации.

В этой инструкции мы будем иметь дело с такими видами ключей:

  • .pem, .crt, .cer – готовый, подписанный центром сертификации сертификат, расширения разные, но означают одно и то же. Если совсем просто, то сертификат, это подписанный открытый ключ, плюс немного информации о вашей компании;
  • .key – закрытый или открытый ключ;
  • .csr – запрос на подпись сертификата, в этом файле хранится ваш открытый ключ плюс информация, о компании и домене, которую вы указали.

А теперь рассмотрим как создать сертификат openssl, как его подписать и что для этого нужно сделать. Генерация ключей openssl – это довольно простая задача, если во всем разобраться.

Создание закрытого ключа и запроса на подпись

Вам необязательно подписывать сертификаты в центре сертификации CA, вы можете подписать их сами, но об этом потом. Весь процесс вам так и так придется пройти.

Сначала рассмотрим как создать закрытый ключ с нуля, и указать необходимую информацию.

Это CN, где должно быть указанно ваше доменное имя, для которого вы собираетесь использовать сертификат, также можно указать дополнительную информацию о вашей компании, адресе и организации, но это уже необязательно.

Чтобы создать закрытый ключ и запрос на подпись открытого ключа выполните такую команду:

 openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

Опция -newkey указывает, что нужно создать новую пару ключей, а в параметрах мы сообщаем тип rsa и сложность 2048 байт. Опция -nodes указывает, что шифровать ключ не нужно, опция -new указывает что нужно создать запрос csr. Если у вас уже есть закрытый ключ, то вы можете создать для него csr запрос такой командой:

openssl req -key domain.key -new -out domain.csr

Во время создания вам нужно будет указать всю необходимую информацию для csr, это в первую очередь домен и организация. Можно создавать закрытый ключ отдельно:

openssl genrsa -des3 -out domain.key 2048

Кроме того, можно создать csr запрос из уже существующего сертификата и закрытого ключа, тогда вам не придется вводить информацию, она будет получена из сертификата:

openssl x509 -in domain.crt -signkey domain.key -x509toreq -out domain.csr

Параметр -x509toreq указывает, что нужно использовать сертификат для X509 для получения CSR. X509, это сертификаты, подписанные сами собой. Обычно сертификат подписывается другим сертификатом, а этот был подписан сам собой. Если вы получили сертификат от CA, то этот параметр не нужен.

Подпись сертификатов OpenSSL

Допустим, у вас есть приватный ключ и запрос на подпись, фактически, открытый ключ. Теперь вам нужно его подписать чтобы получить сертификат, который можно использовать. Тут есть несколько вариантов.

Можно отправить csr файл на подпись какому-либо центру сертификации, например, LetsEncrypt.

Можно подписать сертификат тем же ключом, с помощью которого он был создан, и третий вариант – создать свой центр сертификации.

Первый способ я рассматривать не буду. Здесь все просто. Либо используете утилиту сервиса, либо заполняете веб форму и получаете готовый сертификат. Второй вариант гораздо интереснее. Мы подпишем наш сертификат сами, ключом, на основе которого он был создан:

openssl x509 -signkey domain.key -in domain.csr -req -days 365 -out domain.crt

С помощью параметра -days мы указываем что сертификат будет действительным в течение 365 дней, то есть в течение года. Вы можете объединить все в одну команду и сразу создать закрытый ключ, csr и подписанный сертификат:

openssl req -newkey rsa:2048 -nodes -keyout domain.key
-x509 -days 365 -out domain.crt

Или создаем самоподписанный сертификат openssl из существующего закрытого ключа без csr:

openssl req -key domain.key -new -x509 -days 365 -out domain.crt

Опция -new говорит, что нужно запросить информацию о csr у пользователя. Чтобы браузер доверял ключу нужно этот же сертификат импортировать в список доверенных. А теперь рассмотрим третий способ выполнить создание сертификата OpenSSL – подписать его с помощью собственного CA, центра сертификации.

Вот вы сейчас думаете что это что-то такое сложное, да? А нет, это обычная папка, в которой лежит защищенный паролем закрытый ключ, с помощью которого мы будем подписывать все другие ключи. А открытая пара этого ключа должна быть добавлена во все браузеры, которые будут ему доверять.

Вообще, центр сертификации в крупных корпорациях находится на отдельных компьютерах, которые даже к сети не подключены. Но для примера мы разместим папку в нашей файловой системе /etc/:

mkdir /etc/ca/

Дальше нужно создать самоподписанный сертификат openssl для нашего CA:

openssl req -newkey rsa:4096 -x509 -extensions x509_ca -keyout /etc/ca/certs/ca.key -out /etc/ca/certs/ca.crt -days 3654

Параметр  -extensions загружает необходимые расширения для создания сертификата центра сертификации. Мы устанавливаем долгий строк действия – десять лет. Осталось подписать наш сертификат, созданный ранее:

openssl ca -extensions x509_client -in ~/domain.csr -out ~/domain.crt

Готово, теперь наш сертификат подписан. Но теперь, чтобы браузеры ему доверяли нужно добавить сертификат CA в список доверенных браузера.

Просмотр сертификатов

Сертификаты сохраняются в формате pem, а это значит, что вы не сможете их открыть как текстовый файл и нужно использовать специальные команды для просмотра информации о них. Сначала смотрим содержимое csr:

openssl req -text -noout -verify -in domain.csr

Смотрим содержимое сертификата в режиме обычного текста:

openssl x509 -text -noout -in domain.crt

Проверяем действительно ли сертификат подписан нужным CA:

openssl verify -verbose -CAfile ca.crt domain.crt

Просмотр закрытого ключа:

openssl rsa -check -in domain.key

Чтобы проверить связаны ли между собой закрытый ключ, сертификат и открытый ключ можно подсчитать сумы md5 для этих ключей, если значения совпадут, то есть вероятность что это ключи из одной пары:

openssl rsa -noout -modulus -in domain.key | openssl md5$ openssl x509 -noout -modulus -in domain.crt | openssl md5

$ openssl req -noout -modulus -in domain.csr | openssl md5

Выводы

В этой статье мы рассмотрели как выполняется генерация сертификата openssl, какие бывают сертификаты, ключи и как все эти понятия связаны между собой. Это очень сложная и обширная тема, и недостаточно одной статьи чтобы все охватить, но, надеюсь, что теперь вам намного понятнее как это все работает.

(6 4,33 из 5)
Загрузка…

Источник: https://losst.ru/sozdanie-sertifikata-openssl

Формат SSL сертификата: как конвертировать сертификат в .pem, .cer, .crt, .der, pkcs или pfx?

Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY
Для успешной установки и функционирования SSL сертификатов на различных платформах и устройствах, нередко их необходимо предоставить в разных форматах. Например, серверы Windows используют PFX файлы, для Apache серверов необходимы PEM файлы с расширением .crt или .cer. В этой статье мы поможем вам разобраться в следующих вопросах:

Формат сертификата PEM

PEM – наиболее популярный формат среди сертификационных центров. PEM сертификаты могут иметь расширение .pem, .crt, .cer, и .key (файл приватного ключа). Она представляют собой ASCII файлы, закодированные по схеме Base64.

Когда вы открываете файл pem формата в текстовом редакторе, вы можете увидеть, что текст кода в нем начинается с тега “—– BEGIN CERTIFICATE —–” и заканчивая тегом “—– END CERTIFICATE —–“. Apache и другие подобные серверы используют сертификаты в PEM формате.

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

Как правило, для установки SSL сертификата на Apache, сертификаты и приватный ключ должны быть в разных файлах.

Формат сертификата DER

DER формат – это бинарный тип сертификата вместо формата PEM. В PEM формате чаще всего используется расширение файла .cer, но иногда можно встретить и расширение файла .der.

Поэтому чтобы отличить SSL сертификат в формате PEM от формата DER, следует открыть его в текстовом редакторе и найти теги начала и окончания сертификата (BEGIN/END). DER SSL сертификаты, как правило, используются на платформах Java.

PKCS # 7 / P7B сертификат

SSL сертификаты в формате PKCS # 7 или P7B – это файлы, которые хранятся в формате Base64 ASCII и имеют расширение файла .p7b или .p7c.

P7B сертификаты содержат теги начала сертификата “—– BEGIN PKCS7 ——” и его конца “—– END PKCS7 —–“. Файлы в формате P7B включают в себя только ваш SSL сертификат и промежуточные SSL сертификаты. Приватный ключ при этом идет отдельным файлом.

SSL сертификаты в формате PKCS # 7 / P7B поддерживают следующие платформы: Microsoft Windows и Java Tomcat.

PFX сертификат (формат PKCS # 12)

Формат SSL сертификата PKCS # 12 или, как его еще называют, PFX сертификат – бинарный формат, при использовании которого в одном зашифрованном файле хранится не только ваш личный сертификат сервера и промежуточные сертификаты центра сертификации, но и ваш закрытый ключ. PFX файлы, как правило, имеют расширение .pfx или .p12. Обычно, файлы формата PFX используются на Windows серверах для импорта и экспорта файлов сертификатов и вашего приватного ключа.

Конвертация SSL сертификатов в OpenSSL

Данные команды OpenSSL дают возможность преобразовать сертификаты и ключи в разные форматы. Для того чтобы сделать их совместимыми с определенными видами серверов, либо ПО. К примеру, Вам необходимо конвертировать обыкновенный файл PEM, который будет работать с Apache, в формат PFX (PKCS # 12) с целью применения его с Tomcat, либо IIS.

  • Конвертировать PEM в DER openssl x509 -outform der -in certificate.pem -out certificate.der
  • Конвертировать PEM в P7B openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
  • Конвертировать PEM в PFX openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
  • Конвертировать DER в PEM openssl x509 -inform der -in certificate.cer -out certificate.pem
  • Конвертировать P7B в PEM openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
  • Конвертировать P7B в PFX openssl pkcs7 -print_certs -in certificate.p7b -out certificate.ceropenssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
  • Конвертировать PFX в PEM openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

Онлайн конвертер SSL сертификатов

Также существуют онлайн программы для конвертации сертификатов из одного формата в другой. Например, мы можем посоветовать SSL конвертер от SSLShopper. Используйте этот SSL конвертер для преобразования SSL-сертификатов различных форматов, таких как PEM, DER, P7B и PFX.

Чтобы использовать SSL-конвертер, просто выберите файл сертификата и его текущий тип (он определяется по формату расширения), затем выберите формат, в какой Вам необходимо преобразовать SSL сертификат и нажмите кнопку “Convert Certificate”.

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

Конвертация PEM в DER

Для конвертации стандартного сертификата в формате PEM в бинарный формат DER, потребуется только файлSSL сертификата. Обычно, вы его получаете в архиве вместе с промежуточными сертификатами. Как правило, в его названии указано имя вашего домена.

Конвертация PEM в P7B / PKCS#7

Если же вам нужно преобразовать ваш стандартный SSL сертификат в файл формата P7B / PKCS#7, вы можете кроме SSL сертификата вашего домена загрузить также файлы с цепочками сертификатов. Более подробно о том, что такое цепочка SSL сертификатов, мы писали в статье о CA-bundle.

Конвертация PEM в PFX / PKCS#12

Обратите внимание, что для конвертации стандартного формата SSL сертификата необходимо добавить еще один файл – ваш приватный ключ. Приватный ключ – это конфиденциальная информация, которая должна быть только у вас. Поэтому центры сертификации не высылают его месте с файлами вашего сертификата. Приватный ключ создается в момент генерации CSR запроса.

Если вы генерируете CSR у себя на сервере, на нем же должен автоматически сохраниться ключ. Если вы создаете CSR запрос в специальном инструменте на нашем сайте (на странице по ссылке или во время заполнения технических данных), ключ показывается вам в конце генерации CSR (или введения технических данных), но не сохраняется в нашей базе данных.

Поэтому важно, чтобы вы самостоятельно сохранили приватный ключ.

Конвертация PFX / PKCS#12 в PEM

Если вам необходимо преобразовать SSL сертификат формата PFX в PEM-формат, следует открыть файл сертификата в любом текстовом редакторе и скопировать текст каждого сертификата вместе с тегами BEGIN / END в отдельные файлы, после чего их следует сохранить их как certificate.cer (для сертификата вашего сервера) и cacert.cer (для цепочки промежуточных сертификатов). То же самое следует проделать с текстом приватного ключа и сохранить его под названием privatekey.key.

Источник: https://www.emaro-ssl.ru/blog/convert-ssl-certificate-formats/

Руководство по OpenSSL: SSL-сертификаты, ключи и CSR

Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY

Технология Secure Socket Layer (SSL), изначально разработанная Netscape в 1994 году для поддержки возможностей электронной коммерции в Интернете, прошла долгий путь.

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

Приложения, содержащиеся в библиотеке, помогают создать безопасную среду связи для компьютерных сетей.

В этом руководстве разбеермся как с теорией, так и узнаем как работать с сертификатами на практике при помощи утилиты OpenSSL.

Руководство по OpenSSL

Что такое сертификат SSL? Как работает SSL?

Сертификат Secure Socket Layer (SSL) – это протокол безопасности, который защищает данные между двумя компьютерами с использованием шифрования.

Проще говоря, сертификат SSL – это файл данных, который в цифровом виде связывает криптографический ключ с сервером или доменом, а также с названием и местонахождением организации.

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

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

Сертификаты SSL обеспечивают идентификацию удаленного компьютера, чаще всего сервера, но также подтверждают идентификацию вашего компьютера с удаленным компьютером для установления безопасного соединения.

Обеспечение безопасности в Интернете всегда было улицей с двусторонним движением, и благодаря SSL-шифрованию сервер «пожимает руку» вашему персональному компьютеру, и обе стороны знают, с кем они общаются.

В чем разница между TLS и SSL?

Её нет! Transport Layer Security (TLS) – это обновленная версия Secure Socket Layer (SSL). Даже при том, что большинство безопасных соединений через протоколы TLS, люди продолжают называть это SSL.

Как я могу узнать, защищена ли веб-страница с помощью SSL?

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

SSL

Зачем мне нужен SSL-сертификат?

Давайте возьмем реальный пример. Допустим являетесь владельцем сайта интернет-магазина, м вы хотите, чтобы ваши посетители чувствовали себя в безопасности при посещении вашего интернет-магазина и, прежде всего, не стеснялись войти в систему и совершить покупку.

Сертификат SSL и соединение HTTPS внушают доверие потребителей.

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

Помимо очевидных причин безопасности, SSL-сертификат увеличивает SEO вашего сайта и рейтинг в Google, а также повышает доверие клиентов и, следовательно, повышает общий коэффициент конверсии.

Если этого недостаточно, чтобы заставить вас задуматься о получении сертификата SSL для вашего домена, Google обязательно убедит вас.

А именно, с июля 2018 года Google помечает каждый сайт без SSL как небезопасный.

Где получить сертификат SSL?

Сертификаты SSL проверяются и выдаются Центром сертификации (CA – Certificate Authorities). Вы подаете заявку, генерируя CSR (Certificate Signing Request – запрос на получение сертификата) с парой ключей на вашем сервере, которая в идеале будет содержать сертификат SSL. CSR содержит важные организационные детали, которые CA проверяет.

  • Сгенерируйте CSR и пару ключей локально на вашем сервере. Пара ключей состоит из открытого (public key) и закрытого (private key) ключей.
  • Отправьте CSR и открытый ключ в центр сертификации, который проверит вашу личность, а также владеете ли вы доменом, указанным в заявке. Центр сертификации проверяет вашу организацию и проверяет, зарегистрирована ли организация в расположении, указанном в CSR, и существует ли домен.
  • После проверки организация получает копию своего сертификата SSL, включающего бизнес данные, а также открытый ключ. Теперь организация может установить сертификат на своем сервере.
  • Когда центр сертификации выдает сертификат, он связывается с сертификатом «доверенного корня» (trusted root) центра сертификации. Корневые сертификаты встроены в каждый браузер и связаны с индивидуально выданными сертификатами для установления HTTPS-соединения.

Нередко популярные браузеры не доверяют всем сертификатам, выпущенным одним центром сертификации. Например, Google Chrome не доверяет корневым сертификатам Symantec, поскольку Symantec несколько раз нарушала отраслевые политики. Это означает, что все сертификаты, укоренившиеся в Symantec, стали недействительными независимо от даты их действия.

Типы SSL-сертификатов

Убедитесь, что вы выбрали центр сертификации, который поддерживает необходимый вам тип сертификата. Для вашего удобства ниже приведено описание каждого типа сертификата:

  • Однодоменный SSL-сертификат (Single Domain SSL Certificate) – Этот тип предназначен для использования в одном домене и не поддерживает субдомены. Например, если сертификат будет использоваться для wiki.merionet.ru, он не будет поддерживать любое другое доменное имя.
  • Несколько доменов (сертификаты SAN / UC) – Несколько сертификатов домена используются для многочисленных доменов и поддоменов. Помимо полного доменного имени, вы можете добавить поддержку других поддоменов, добавив их в поле «Альтернативное имя субъекта». Например, сертификат SAN может включать домен wiki.merionet.ru, его поддомен asterisk.merionet.ru, а также другой домен (например, shop.merionet.ru).
  • Wildcard сертификат – Сертификаты могут использоваться для домена, включая все его поддомены. Основное отличие состоит в том, что вместо выдачи для определенного полного доменного имени сертификаты с подстановочными знаками используются для широкого диапазона поддоменов. Например, сертификат подстановочного знака, выданный *.merionet.ru, может использоваться для широкого диапазона поддоменов в основном домене

Уровни проверки SSL-сертификатов

Центры сертификации имеют различные уровни проверки сертификатов в ответ на растущий спрос на сертификаты. Некоторые организации используют SSL только для шифрования, в то время как другие хотят показать своим клиентам, что они являются доверенной компанией. Различные потребности привели к различным уровням проверки сертификата.

Проверка домена (DV SSL – Domain Validation)

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

Расширенная проверка (EV SSL – Extended Validation)

Центр сертификации проверяет право собственности на домен и проводит тщательное расследование организации, связанной с сертификатом EV. При рассмотрении расширенного запроса проверки соблюдаются строгие правила, и центр сертификации должен проверить следующее:

  • Информация об организации соответствует официальным данным
  • Физическое, юридическое и эксплуатационное существование субъекта
  • Организация имеет исключительные права на использование домена, указанного в сертификате SSL
  • Организация надлежащим образом санкционировала выдачу сертификата EV SSL

Как создать сертификат SSL

То, как сгенерировать запрос на подпись сертификата (CSR), зависит исключительно от платформы, которую вы используете, и конкретного выбранного вами инструмента.

Мы будем генерировать CSR с использованием OpenSSL.

OpenSSL – это широко используемый инструмент для работы с CSR-файлами и SSL-сертификатами, который можно загрузить с официального сайта OpenSSL. Это инструмент реализации с открытым исходным кодом для SSL/TLS, который используется примерно на 65% всех активных интернет-серверов, что делает его неофициальным отраслевым стандартом.

Установка OpenSSL в Debian и Ubuntu

Сначала проверим, установлена ли у нас утилита OpenSSL при помощи команды:

dpkg -l |grep openssl

Если пакет OpenSSL установлен, мы получим следующий результат:

Источник: https://zen.yandex.ru/media/merion_networks/rukovodstvo-po-openssl-sslsertifikaty-kliuchi-i-csr-5e73c72d0a51c47ff2ada0b1

Генерация самоподписанного сертификата по новым требованиям

Что такое файлы pem. Конвертирование сертификатов при помощи OpenSSL. Найти приватный ключ.KEY
Skip to content

Тема генерации самоподписных сертификатов (self-signed certificate) для WEB серверов не нова, но недавно произошло знаковое событие.

Корпорация Apple, в очередной раз, преподнесла сюрприз своим поклонникам и выдвинула дополнительные требования к сертификатам безопасности (cсылка на первоисточник).

Подобная забота заблокировала возможность доступа ко всем сайтам, на которых установлены сертификаты, не удовлетворяющие требованиям Apple: Your connection is not private: NET::ERR_CERT_INVALID.

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

Что нового в требованиях Apple

Новые требования Apple к TLS сертификатам распространяются на все сертификаты, сгенерированные после 1 июля 2019 года. Эти требования были введены с обновлениями систем iOS 13 и macOS 10.15.

Однако у нас часть серверов продолжают успешно работать с самоподписанными сертификатами, сгенерированными после 1 июля 2019… Поэтому, прежде всего, проверьте, что ваши сервера действительно стали недоступны из-за проблем с ранее сгенерированными сертификатами, прежде чем генерировать новые.

Из релиза Apple ясно, что новые сертификаты должны:

  • иметь размер не менее 2048 бит;
  • срок действия сертификата не должен превышать 825 дней;
  • при генерации сертификатов должен использоваться алгоритм хеширования семейства SHA-2;
  • в дополнение с CommonName, в сертификате должно указываться DNS имя сервера в расширении сертификата Subject Alternative Name;
  • сертификат должен содержать расширение ExtendedKeyUsage (EKU), содержащее идентификатор объекта id-kp-serverAuth.

Генерация self-signed сертификатов на MacOS

Пожалуй, самый простой способ сгенерировать самоподписанный сертификат, сделать это на MacOS.

Для этого необходимо вызвать программу Keychain (связка ключей) -> Certificate Assistant (Ассистент сертификации) -> Create a Certificate (Создать сертификат)…

Сгенерировать новый сертификат с типом SSL Server (SSL Сервер) и параметрами по умолчанию. В качестве имени сертификата необходимо указать полное имя (FQDN) вашего сервера.

После генерации сертификата его необходимо экспортировать на компьютер в формате .p12. В этом файле в зашифрованном виде будут сохранены как приватный ключ (private key), так и самоподписанный сертификат (self-signed certificate).

Полученный файл необходимо перенести на сервер, где вы планируете использовать новый сертификат, и конвертировать в вид, подходящий для WEB сервера.

Для конвертации удобно использовать стандартную программу OpenSSL:

# openssl pkcs12 -in Certificates.p12 -nocerts -nodes | openssl rsa > site_name.key # openssl pkcs12 -in Certificates.p12 -clcerts -nokeys -out site_name.crt

Обратите внимание, что в большинстве случаев удобно, чтобы полученный секретный ключ был сохранен без пароля.

После этого останется только подложить полученный ключ и сертификат в папки, прописанные в настройках WEB-сервера, и перезапустить его.

Генерация самоподписанного сертификата с помощью OpenSSL

Пожалуй, это один из самых распространенных способов генерации самоподписанных сертификатов непосредственно на сервере.

Для тех, кого не интересуют подробности генерации, приводим строку, которая выполнит автоматическую генерацию секретного ключа (private key) и самоподписанного сертификата (self-signed certificate) в текущем каталоге сервера.

Обратите внимание, что для корректной генерации Вам необходимо указать полное имя сервера (FQDN) в начале этой последовательности команд, изменив значение переменной HOSTNAME (подставить свое значение вместо YOUR_SERVER_NAME):

# HOSTNAME=”YOUR_SERVER_NAME” ; \ OPENCFG=`openssl version -a | sed -n 's#OPENSSLDIR: “\(.*\)”#\1#p'`/openssl.cnf ; \ openssl req -subj “/C=EU/CN=$HOSTNAME” -extensions “v3_ca_ext” \ -config DER

# openssl x509 -outform der -in certificate.pem -out certificate.der

Извлечение секретного ключа (private key) и сертификатов (certificates) из PKCS#12 файла (.pfx .p12)

# openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes

С помощью ключей –nocerts и –nokeys можно извлечь только секретный ключ или сертификаты (соответственно)

# openssl pkcs12 -in Certificates.p12 -nocerts -nodes | openssl rsa > site_name.key # openssl pkcs12 -in Certificates.p12 -clcerts -nokeys -out site_name.crt

Получение PKCS#12 (.pfx .p12) из PEM сертификата и секретного ключа

# openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

Источник: https://drmini.ru/computers/encryption/gen-self-signed-certificate.html

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: