===== OpenSSL =====
=== Конвертация файла PFX (сертификат+ключ в формат, подходящий для Apache) ===
sudo openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
sudo openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
Можно наоборот - создать контейнер Windows с закрытым ключом из отдельных файлов: закрытого ключа и сертификата.
Для этого нужно выполнить команду:
openssl pkcs12 -export -inkey MyCert.key -in MyCert.cer -out MyCert.p12
----
=== Снять пароль с контейнера pkcs12 (pfx) ===
При помощи OpenSSL можно также снять пароль с контейнера. Для этого сначала извлечём информацию в промежуточный pem-файл, а затем превратим его в pkcs12 без пароля (вводим пустой пароль при запросе второй команды).
openssl pkcs12 -in "C:\cert\source.pfx" -nodes -out "C:\cert\target.pem"
openssl pkcs12 -export -in "C:\cert\target.pem" -out "C:\cert\destination.pfx"
----
=== Проверить SSL сертификат на порту ===
Можно использовать OpenSSL для того, чтобы подключиться к какому-нибудь секьюрному порту и посмотреть сертификат, который там есть.
.\openssl.exe s_client -connect host.domain.ru:443
:!: //Это касается не только https, но и любого другого порта SSL//.
К примеру, таким образом можно проверить сертификат сервера LDAP(AD) на порту 636.
Можно вывести серийный номер сертификата такой командой:
openssl s_client -connect ksc1.office.domain.ru:13000 2>&1|openssl x509 -noout -serial
Сборку OpenSSL для Windows можно скачать из разных источников. Например, отсюда:
https://slproweb.com/products/Win32OpenSSL.html
----
=== Посмотреть CSR запрос ===
При помощи OpenSSL можно посмотреть содержимое CSR-запроса. Для этого нужно выполнить следующую команду:
openssl req -in sample.csr -noout -text
----
=== Установка OpenSSL под Windows ===
Качаем и устанавливаем OpenSSL из msi-пакета (для тривиальных целей достаточно версии OpenSSL Light):
https://slproweb.com/products/Win32OpenSSL.html
Чтобы бинарные файлы OpenSSL можно было удобным образом использовать в терминале - необходимо добавить две переменные окружения.
1. В уже существующую СИСТЕМНУЮ переменную //path// - необходимо добавить директорию //bin// инсталляционной папки //OpenSSL//.
;#;
{{:wiki:open-ssl-path_dir.jpg?600|}}
;#;
2. В ПОЛЬЗОВАТЕЛЬСКУЮ переменную с произвольным понятным именем - необходимо добавить директорю //bin// инсталляционной папки //OpenSSL//.
Результат выглядит следующим образом.
;#;
{{:wiki:open-ssl-path_system.jpg?600|}}
;#;
:!: Если действия не отработали сразу - вероятно, требуется перезагрузка.
----
=== Тестирование скорости работы SSL с разными алгоритмами ===
Вот такой командой можно запустить некий бенчмарк работы SSL с различными алгоритмами, где скорость будет выражаться в количестве операций, произведенных за отрезок времени.
openssl speed rsa2048 rsa4096 ecdsap256
{{tag>Certificates OpenSSL Linux LDAP CSR Windows}}