Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

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

Поэтому решил создать дополняему статью на тему полезных команд по работе с SSL-сертификатами при помощи OpenSSL.

Проверка на валидность сертификата

Проверка .pem, .crt — сертификата.
Проверка .key — приватного ключа.
Проверка .csr — ключ запроса сертификата.

MD5 у всех должен совпадать. Важно чтобы MD5 были одинаковые только у приватного ключа (.key) и сертификата (.pem, .crt), .csr нужен в случае если понадобится продлевать данный сертификат.

openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
openssl req -noout -modulus -in request.csr | openssl md5
root@openssl:~/intermediate# openssl rsa -noout -modulus -in private/server.key | openssl md5
(stdin)= f6647d0867087e0adae0d65d5451a994
root@openssl:~/intermediate# openssl x509 -noout -modulus -in certs/server.crt | openssl md5
(stdin)= f6647d0867087e0adae0d65d5451a994
root@openssl:~/intermediate# openssl req -noout -modulus -in csr/server.csr | openssl md5
(stdin)= f6647d0867087e0adae0d65d5451a994

Получение информации по сертификату

Отобразить информацию о сертификате:

openssl x509 -in certificate.crt -text -noout

Проверка RSA закрытого ключа:

openssl rsa -in server.key -check

Отобразить срок действия (даты) сертификата:

openssl x509 -in certificate.crt -noout -dates

Для проверки действительности сертификата:

openssl verify -show_chain -CAfile ca_chain.crt certificate.crt

Параметр -untrusted используется для предоставления промежуточных сертификатов, если промежуточных сертификатов несколько и они в отдельных файлах, то нужно указать их все, опцию -untrusted можно использовать несколько раз. Если цепочка сертификатов ЦС находится в одном файле, то нужно использовать параметр -CAfile

Пример успешной проверки:

certificate.crt: OK
Chain:
depth=0: CN = sysos.ru, O = SYSOS (untrusted)
depth=1: O = SYSOS, CN = SYSOS Issuing SubCA
depth=2: CN = SYSOS Issuing RootCA
openssl verify -CAfile ca_chain.crt -verify_hostname sysos.ru certificate.crt

Пример успешной и не успешной проверки для указанного хоста (sysos.ru/sysos.com):

openssl verify -CAfile ca_chain.crt -verify_hostname sysos.ru certificate.crt
certificate.crt: OK
openssl verify -CAfile ca_chain.crt -verify_hostname sysos.com certificate.crt
O = SYSOS, CN = sysos.ru
error 62 at 0 depth lookup: Hostname mismatch
error certificate.crt: verification failed

Операции с сертификатом

Создать PFX сертификат

openssl pkcs12 -export -out certificate.pfx -inkey certificate.key -in certificate.crt -passout "pass:P@ssword"

если необходимо включить CA сертификат в .pfx, то делается это так:

openssl pkcs12 -export -out certificate.pfx -inkey certificate.key -in certificate.crt -certfile ca.crt -passout "pass:P@ssword"

* статья будет дополнятся по мере необходимости. В комментариях можете предложить чем можно дополнить полезным, дополним.

Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА ДОНАТОМ


Использование OpenSSL (ssl security crypt cert mod_ssl apache imap postfix)

<< ПредыдущаяИНДЕКСПравкаsrc / ПечатьСледующая >>
Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

<< ПредыдущаяИНДЕКСПравкаsrc / ПечатьСледующая >>
Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

  • , Sepuka (), 15:48, 22/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix>Для клиентов Micro$oft необходимо ещё и перевести сертификаты в формат PKCS#12.

    >Для этого воспользуемся командой openssl pkcs12:

    >        openssl pkcs12 -export -in client.pem -inkey client-key.pem -out client.p12 \

    >              -name “Client certificate from our organization”
     
     

  • , Прохожий (), 19:14, 20/01/2010 [^] [^^] [^^^] [ответить]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix>>Для клиентов Micro$oft необходимо ещё и перевести сертификаты в формат PKCS#12.

    >>Для этого воспользуемся командой openssl pkcs12:

    >>        openssl pkcs12 -export -in client.pem -inkey client-key.pem -out client.p12 \

    >>              -name “Client certificate from our organization”

    >Написано что так делать нельзя

    Внимательней прочитайте. В примере показано как приводят КЛИЕНТСКИЙ сертификат в pkcs12, это обычно делается для его передачи клиенту. А в пункте 12 показан пример с СА, для СА действительно не стоит так делать, потому что привактный ключ тоже войдёт в пакет p12.

     
    :/>  Как открыть реестр в Windows 10, войти в реестр Windows 10

  • , pljonkin (), 10:00, 20/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfixдобрый день. полезная статья. в программировании весьма мало понимаю, но стоит задача: есть описание протокола (список дейтаграмм) по которому можно получить доступ к устройству с ПК. протокол реализуется посредством openssl. с чего начать? в какую сторону копать?
     

  • , Serge (), 08:48, 09/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • Статья отличная. Но. Начиная с версии 1.0, OpenSSL имеет возможность работать с российскими ГОСТ. Было бы полезно дополнить статью описанием работы с этими алгоритмами, а также работы с сертификатами, использующими эти алгоритмы (в частности, использование сертификатов CryptoPro).
     

  • , Михаил (), 14:26, 30/12/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfixСпасибо за статью. Заметил небольшие опечатки:

    шифрации/дешифрации используется следующий синтаксис:

            openssl rsautl -in file -out file.cr -keyin pubkey.pem -pubin -encrypt


    Шифрация file с использованием публичного ключа pubkey.pem

            openssl rsautl -in file.cr -out file -keyin secretkey.pem -decrypt


    Дешифрация file.cr с использованием секретного ключа secretkey.pem

    Т.е сначала идет код, а потом описание, хоть везде наоборот.

    И у меня rsautl потребовала параметр не -keyin, а -inkey

     

  • , Бебра (), 17:53, 16/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfixopenssl genrsa -aes256 -out ca.key.pem 4096

    openssl req -new -x509 -sha256 -days 3650 -key ca.key.pem -out ca.cert.pem

    openssl genrsa -out web-server.key 4096

    echo subjectAltName=DNS:iwtm.demo.lab,IP:192.168.16.10 >> extfile.cnf

    openssl req -new -sha256 -subj “/CN=IWTM” -key web-server.key -out web-server.csr

    openssl x509 -req -sha256 -days 365 -in web-server.csr -CA ca.cert.pem -CAkey ca.key.pem -out web-server.pem -extfile extfile.cnf -CAcreateserial
     

  • , Бебра (), 17:56, 16/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfixЭто для Краулера ели что)

    sudo vi /opt/iw/tm5/etc/web.conf

     

  • , Иван (), 10:40, 02/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfixМожно ли использовать ключи RSA в ГОСТ алгоритмах?

    Здравствуйте! Я новичок в криптографии, поэтому прошу прощения за возможно дикие вопросы. Хотела бы спросить у знающих людей:

    Можно ли использовать ключи RSA в ГОСТ алгоритмах? И чем это плохо?

    Например, это возможно физически через openssl на Astra Linux с установленным пакетом libgost-astra

    1) Создав пару ключей

    openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out test.key

    openssl rsa -in test.key -pubout -out test.pub

    2) Выполнив шифрование/дешифрование файла

    openssl pkeyutl -encrypt -pubin -inkey test.pub -in data.txt -engine gost-astra -out data-gost.enc.txt

    openssl pkeyutl -decrypt -inkey test.key -in data-gost.enc.txt -engine gost-astra -out test-gost.out.txt

     


    Последнее обновление

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

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



    OpenSSL – это универсальная криптографическая библиотека, которая предлагает применение протокола TLS с открытым исходным кодом. Он позволяет пользователям выполнять различные задачи, связанные с SSL, включая генерацию CSR (Certificate Signing Request), генерацию закрытых ключей и установку SSL-сертификата.

    Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

    Для чего используется OpenSSL?

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

    :/>  Как узнать, какая Виндовс стоит на компьютере – 5 простых способов

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

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


    Как использовать OpenSSL

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

    Впервые выпущенный в 1998 году, OpenSSL доступен для систем Linux, Windows, macOS и BSD. Большинство дистрибутивов Linux поставляются с предварительно скомпилированным OpenSSL.

    Как проверить, установлен ли OpenSSL в Linux?

    Чтобы проверить, установлен ли OpenSSL в Вашей системе Linux, воспользуйтесь приведенными ниже командами.

    Для дистрибутивов GNU/Linux, использующих пакеты rpm:

    Для дистрибутивов GNU/Linux, использующих пакеты deb:

    Для Arch Linux используйте:

    pacman -Q openssl


    Как использовать OpenSSL в Windows?

    При установке по умолчанию на диске C будет создан каталог для программы – C:\OpenSSL-Win32

    Чтобы запустить программу, перейдите в каталог C:\OpenSSL-Win32\bin\ и дважды щелкните на файле openssl.exe. Откроется текстовое окно с приглашением OpenSSL>.

    Введите необходимые Вам команды OpenSSL в этой подсказке. Файлы, которые Вы создадите, будут находиться в этой же директории. Команды OpenSSL для Windows идентичны тем, что используются на серверах Linux.


    Общие команды OpenSSL

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

    Проверьте версию OpenSSL

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

    Версия openssl -a


    Сгенерируйте CSR с помощью OpenSSL

    Вы можете использовать OpenSSL для создания кода CSR (Certificate Signing Request). Выполните следующую команду, чтобы сгенерировать CSR:

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

    Вы также можете отправить свою информацию в самой командной строке с помощью ключа -subj.

    Эта команда отключит подсказки с вопросами:

    openssl req -new -key yourdomain.key -out yourdomain.csr -subj "/C=US/ST=CA/L=San Francisco/O=Your Company, Inc./OU=IT/CN=yourdomain.com"

    В качестве альтернативы Вы можете создать CSR с помощью инструмента для генерации CSR.


    Сгенерируйте закрытый ключ с помощью OpenSSL

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

    Для размера ключа Вам следует выбрать 2048 бит при использовании алгоритма RSA и 256 бит при использовании алгоритма ECDSA. Любой размер ключа меньше 2048 небезопасен, а большее значение может замедлить работу.

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

    Когда Вы будете готовы сгенерировать свой закрытый ключ (с алгоритмом RSA), выполните приведенные ниже команды:

    :/>  Почему гудят колонки у компьютера: причины, возможные поломки, способы устранения неисправности

    openssl genrsa -out yourdomain.key 2048

    Эта команда создаст файл yourdomain.key в Вашей текущей директории. Ваш закрытый ключ будет в форматеPEM.


    Просмотр информации о закрытом ключе с помощью OpenSSL

    Вы можете просмотреть закодированное содержимое Вашего закрытого ключа с помощью следующей команды:


    Расшифруйте закрытый ключ с помощью OpenSSL

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

    openssl rsa -text -in yourdomain.key -noout


    Извлеките открытый ключ с помощью OpenSSL

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

    openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key


    Создайте свой закрытый ключ и CSR за один раз с помощью OpenSSL

    OpenSSL настолько универсален, что в нем также есть команда для генерации как Вашего закрытого ключа, так и CSR:

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

    Эта команда генерирует закрытый ключ без ключевой фразы (-keyout yourdomain.key) и код CSR (out yourdomain.csr).


    Проверьте информацию CSR с помощью OpenSSL

    Чтобы убедиться в том, что Вы указали правильную информацию перед отправкой CSR в Ваш ЦС, выполните приведенную ниже команду:

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


    Отправьте CSR в ЦС

    Выполните следующую команду, чтобы просмотреть и скопировать все содержимое CSR:

    Убедитесь, что Вы включили теги –BEGIN CERTIFICATE REQUEST– и –END CERTIFICATE REQUEST-, и вставьте все в форму заказа Вашего поставщика SSL.


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

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

    openssl x509 -text -in yourdomain.crt -noout

    На этом мы завершаем список общих команд OpenSSL. Если Вы хотите, Вы можете изучить все команды OpenSSL.


    Нижняя линия

    Теперь, когда Вы знаете, что такое OpenSSL и как он работает, Вы можете использовать его команды для генерации, управления и установки SSL-сертификатов на различные серверы. Использование OpenSSL иногда является единственным вариантом, когда у Вас нет панели хостинга.

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

    Если Вы ищете дополнительную информацию о том, что такое OpenSSL и как он работает, эта бесплатная книга – отличный ресурс.

    Часто задаваемые вопросы

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

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

    С другой стороны, OpenSSL – это криптографическая утилита, которая использует командные строки для управления генерацией, установкой и идентификацией сертификатов SSL/TLS.

    Является ли Openssl бесплатным для использования?

    Да, OpenSSL можно свободно использовать в коммерческих и некоммерческих целях.

    Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

    Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

    Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

    Использовать открытый ssl ssl security crypt cert mod ssl apache imap postfix

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