The Magician

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
openssl [2024/01/17 12:08] jpopenssl [2026/04/22 11:48] (current) jp
Line 1: Line 1:
 ===== OpenSSL ===== ===== OpenSSL =====
  
-=== Конвертация файла PFX (сертификат+ключ в формат, подходящий для Apache) ===+==== Посмотреть содержимое сертификата в формате PEM ==== 
 + 
 +  openssl x509 -in cert_file_name.pem -text -noout 
 + 
 +---- 
 + 
 +==== Конвертация файла PFX (сертификат+ключ в формат, подходящий для Apache) ====
  
 <code> <code>
Line 11: Line 17:
 Для этого нужно выполнить команду: Для этого нужно выполнить команду:
  
-   openssl pkcs12 -export -inkey MyCert.pem -in MyCert.crt -out MyCert.p12+   openssl pkcs12 -export -inkey MyCert.key -in MyCert.cer -out MyCert.p12
  
 ---- ----
  
-=== Снять пароль с контейнера pkcs12 (PFX) ===+==== Снять пароль с контейнера pkcs12 (pfx====
  
 При помощи OpenSSL можно также снять пароль с контейнера. Для этого сначала извлечём информацию в промежуточный pem-файл, а затем превратим его в pkcs12 без пароля (вводим пустой пароль при запросе второй команды). При помощи OpenSSL можно также снять пароль с контейнера. Для этого сначала извлечём информацию в промежуточный pem-файл, а затем превратим его в pkcs12 без пароля (вводим пустой пароль при запросе второй команды).
  
-<code>openssl pkcs12 -in "C:\cert\source.pfx" -nodes -out "C:\cert\destination.pem"</code>+<code>openssl pkcs12 -in "C:\cert\source.pfx" -nodes -out "C:\cert\target.pem"</code> 
 + 
 +<code>openssl pkcs12 -export -in "C:\cert\target.pem"  -out "C:\cert\destination.pfx"</code>
  
 ---- ----
  
-=== Проверить SSL сертификат на порту ===+==== Проверить SSL сертификат на порту ====
  
 Можно использовать OpenSSL для того, чтобы подключиться к какому-нибудь секьюрному порту и посмотреть сертификат, который там есть. Можно использовать OpenSSL для того, чтобы подключиться к какому-нибудь секьюрному порту и посмотреть сертификат, который там есть.
Line 31: Line 39:
  
 К примеру, таким образом можно проверить сертификат сервера LDAP(AD) на порту 636. К примеру, таким образом можно проверить сертификат сервера LDAP(AD) на порту 636.
 +
 +А вот в случае, если мы хотим подключиться, к примеру, к //secure smtp// на 587 порту, который предполагает сначала вызов //starttls// - потребуется использовать соответствующий ключ. Пример коннекта:
 +
 +   openssl s_client -connect exch1.arasaka.local:587 -starttls smtp
 +Так же можно проверять и стандартный коннектор, слушающий на порту 2525 в Exchange:
 +
 +   openssl s_client -connect exch1.arasaka.local:2525 -starttls smtp
 +Можно вывести серийный номер сертификата такой командой:
 +
 +   openssl s_client -connect ksc1.office.domain.ru:13000 2>&1|openssl x509 -noout -serial
  
 Сборку OpenSSL для Windows можно скачать из разных источников. Например, отсюда: Сборку OpenSSL для Windows можно скачать из разных источников. Например, отсюда:
Line 37: Line 55:
  
 ---- ----
-=== Посмотреть CSR запрос ===+==== Проверить версию протокола TLS ==== 
 + 
 +При помощи SSL мы можем проверить версию протокола TLS на каком-нибудь хосте. Для этого мы можем указать версию для подключения явно. Если в ответе будет сертификат - с соединением всё ОК.  
 + 
 +   openssl s_client -connect 192.168.1.1:443 -tls1 
 +   openssl s_client -connect 192.168.1.1:443 -tls1_1 
 +   openssl s_client -connect 192.168.1.1:443 -tls1_2 
 +   openssl s_client -connect 192.168.1.1:443 -tls1_3 
 +Если протокол не поддерживается, вместо сертификата получим какую-нибудь ошибку, вроде: 
 + 
 +   E81C0000:error:0A0000BF:SSL routines:tls_setup_handshake:no protocols available 
 + 
 +---- 
 + 
 +==== Посмотреть CSR запрос ====
  
 При помощи OpenSSL можно посмотреть содержимое CSR-запроса. Для этого нужно выполнить следующую команду: При помощи OpenSSL можно посмотреть содержимое CSR-запроса. Для этого нужно выполнить следующую команду:
  
 <code>openssl req -in sample.csr -noout -text</code> <code>openssl req -in sample.csr -noout -text</code>
-{{tag>Certificates OpenSSL Linux LDAP CSR}}+ 
 +---- 
 +==== Установка 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}}
  
  
openssl.1705493324.txt.gz · Last modified: by jp