This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
пакет_openssl [2024/08/22 08:13] val [Интерактивное подключение по ssl] |
пакет_openssl [2025/11/01 10:23] (current) val [Проверка соответствия ключа и сертификата] |
||
|---|---|---|---|
| Line 19: | Line 19: | ||
| <code> | <code> | ||
| $ openssl s_client -connect ru.wikipedia.org:443 | $ openssl s_client -connect ru.wikipedia.org:443 | ||
| - | |||
| - | $ openssl s_client -showcerts -connect webinar6.bmstu.ru:443 2>/dev/null | openssl x509 -noout -dates #-text | grep bmstu | ||
| $ faketime -f "+500d" wget -q -O /dev/null https://webinar7.bmstu.ru && echo Ok || echo Err | $ faketime -f "+500d" wget -q -O /dev/null https://webinar7.bmstu.ru && echo Ok || echo Err | ||
| Line 106: | Line 104: | ||
| openssl genrsa -out wild.key 2048 | openssl genrsa -out wild.key 2048 | ||
| openssl req -new -x509 -days 3650 -key wild.key -out wild.crt -subj '/CN=*.corpX.un/O=CKO/C=RU' -addext 'subjectAltName=DNS:*.corpX.un' | openssl req -new -x509 -days 3650 -key wild.key -out wild.crt -subj '/CN=*.corpX.un/O=CKO/C=RU' -addext 'subjectAltName=DNS:*.corpX.un' | ||
| + | |||
| + | |||
| </code> | </code> | ||
| ==== Просмотр содержимого файла сертификата ==== | ==== Просмотр содержимого файла сертификата ==== | ||
| Line 121: | Line 121: | ||
| * Материалы по Windows [[Материалы по Windows#Экспорт корневого сертификата]] | * Материалы по Windows [[Материалы по Windows#Экспорт корневого сертификата]] | ||
| + | * [[Firefox#Использование системных сертификатов]] в Firefox | ||
| ==== Проверка ==== | ==== Проверка ==== | ||
| <code> | <code> | ||
| Line 262: | Line 263: | ||
| ==== Инициализация списка отозванных сертификатов ==== | ==== Инициализация списка отозванных сертификатов ==== | ||
| <code> | <code> | ||
| - | lan# openssl ca -gencrl -out /var/www/html/ca.crl | + | lan# openssl ca -gencrl -crldays 365 -out /var/www/html/ca.crl |
| </code><code> | </code><code> | ||
| Enter pass phrase for ./CA/ca.key:Pa$$w0rd | Enter pass phrase for ./CA/ca.key:Pa$$w0rd | ||
| Line 287: | Line 288: | ||
| ... | ... | ||
| </code> | </code> | ||
| + | или | ||
| + | <code> | ||
| + | gate# openssl req -new -key gate.key -out gate.req -subj '/C=RU/ST=Moscow region/L=Moscow/O=cko/OU=noc/CN=gate.corpX.un' | ||
| + | </code> | ||
| + | |||
| + | |||
| === Добавление расширений в запрос на сертификат === | === Добавление расширений в запрос на сертификат === | ||
| Line 317: | Line 324: | ||
| ==== Подпись запроса на сертификат центром сертификации ==== | ==== Подпись запроса на сертификат центром сертификации ==== | ||
| - | <code> | ||
| - | lan# openssl ca -days 365 -in www.req -out www.crt # -extfile www.ext | ||
| - | |||
| - | lan# cat CA/index.txt | ||
| - | |||
| - | lan# ls CA/newcerts/ | ||
| - | </code> | ||
| === Добавление расширений при подписи запроса на сертификат === | === Добавление расширений при подписи запроса на сертификат === | ||
| Line 335: | Line 335: | ||
| DNS.2 = www.corpX.un | DNS.2 = www.corpX.un | ||
| #DNS.1 = *.corpX.un | #DNS.1 = *.corpX.un | ||
| + | </code><code> | ||
| + | lan# openssl ca -days 365 -in www.req -out www.crt -extfile www.ext | ||
| + | |||
| + | lan# cat CA/index.txt | ||
| + | |||
| + | lan# ls CA/newcerts/ | ||
| </code> | </code> | ||
| + | |||
| + | |||
| ==== Копирование подписанного сертификата на целевой сервер ==== | ==== Копирование подписанного сертификата на целевой сервер ==== | ||
| Line 354: | Line 362: | ||
| ==== Проверка соответствия ключа и сертификата ==== | ==== Проверка соответствия ключа и сертификата ==== | ||
| + | |||
| + | * [[https://www.ssl.com/faqs/how-do-i-confirm-that-a-private-key-matches-a-csr-and-certificate/|How to Verify an RSA Private Key Matches a CSR and Certificate]] | ||
| + | |||
| <code> | <code> | ||
| - | $ openssl x509 -noout -modulus -in www.crt | openssl md5 | + | $ openssl x509 -noout -modulus -in www.crt | openssl sha256 |
| - | $ openssl rsa -noout -modulus -in www.key | openssl md5 | + | $ openssl rsa -noout -modulus -in www.key | openssl sha256 |
| </code> | </code> | ||
| ==== Шифрование ключа сервера ==== | ==== Шифрование ключа сервера ==== | ||
| Line 385: | Line 396: | ||
| <code> | <code> | ||
| $ openssl req -new -key user1.key -out user1.req -subj '/C=RU/ST=Moscow region/L=Moscow/O=cko/OU=group1/CN=user1/emailAddress=user1@corpX.un/' | $ openssl req -new -key user1.key -out user1.req -subj '/C=RU/ST=Moscow region/L=Moscow/O=cko/OU=group1/CN=user1/emailAddress=user1@corpX.un/' | ||
| + | </code> | ||
| + | ИЛИ | ||
| + | <code> | ||
| + | freeipaclient$ openssl req -new -key user1.key -out user1.req -subj '/O=CORPX.UN/CN=user1/emailAddress=user1@corpX.un/' | ||
| </code> | </code> | ||
| Line 415: | Line 430: | ||
| lan# less CA/index.txt | lan# less CA/index.txt | ||
| - | lan# openssl ca -gencrl -out /var/www/html/ca.crl | + | lan# openssl ca -gencrl -crldays 365 -out /var/www/html/ca.crl |
| lan# openssl crl -text -noout -in /var/www/html/ca.crl | less | lan# openssl crl -text -noout -in /var/www/html/ca.crl | less | ||
| Line 423: | Line 438: | ||
| Serial Number: 0N | Serial Number: 0N | ||
| ... | ... | ||
| + | </code><code> | ||
| + | lan# scp /var/www/html/ca.crl gate:/etc/ssl/certs/ | ||
| </code> | </code> | ||