Как создать и доверять сертификату используя OpenSSL? - PullRequest
0 голосов
/ 14 января 2020

Как создать действительный сертификат с использованием OpenSSL для использования привязки HTTPS в IIS ??

Он должен работать в Firefox и во всех других браузерах. Я использую сервер IIS 10.
А Firefox v70, Firefox Dev , редакция v72b5, Chrome v79, Edge v44. Я хочу, чтобы привязка HTTPS работала во всех этих браузерах.

1 Ответ

1 голос
/ 14 января 2020

Хорошо. Я думаю, я нашел ответ:

Необходимо создать авторизационный орган для использования привязки HTTPS , и все наши сертификаты будут подписаны на нем. Для этого скачайте подходящую версию OpenSSL отсюда: Win32 / Win64 OpenSSL Installer для Windows и установите ее. Затем для быстрой и простой работы можно создать несколько файлов сценариев:

В папке (в которой выполняется сценарий) добавьте папку с именем #. Все файлы сертификатов будут храниться там.

для создания Root Создание сертификата RootCA.bat,

openssl genrsa -des3 -out #/RootCA.key 4096
openssl req -x509 -new -nodes -sha256 -days 730 -key #/RootCA.key -out #/RootCA.crt -config rootca.csr
openssl pkcs12 -export -out #/RootCA.p12 -inkey #/RootCA.key -in #/RootCA.crt
openssl pkcs12 -export -out #/RootCA.pem -inkey #/RootCA.key -in #/RootCA.crt
openssl pkcs12 -export -out #/RootCA.pfx -inkey #/RootCA.key -in #/RootCA.crt

И, для деталей RootCA создание RootCa.csr,

[req]
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=US
ST=New York
L=Rochester
O=Developer
OU=CodeSigner
CN=*.codesigning.in

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = *.codesigning.in

Когда вы запустите RootCA.bat, он создаст сертификат, используя данные RootCa.csr и экспортирует .pem, .pfx и .p12 вместе с файлом сертификата (RootCA.csr и 'RootCA.key' также созданы).



Теперь для серверов создайте сертификат server.bat,

openssl req -new -sha256 -nodes -out #/server.csr -newkey rsa:2048 -keyout #/server.key -config server.csr
openssl x509 -req -in #/server.csr -CA #/RootCA.crt -CAkey #/RootCA.key -CAcreateserial -out #/server.crt -days 365 -sha256 -extfile v3.ext
openssl pkcs12 -export -out #/server.p12 -inkey #/server.key -in #/server.crt -chain -CAfile #/RootCA.crt
openssl pkcs12 -export -out #/server.pem -inkey #/server.key -in #/server.crt -chain -CAfile #/RootCA.crt
openssl pkcs12 -export -out #/server.pfx -inkey #/server.key -in #/server.crt -chain -CAfile #/RootCA.crt

И, конечно, для создания деталей файл server.csr,

[req]
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=US
ST=New York
L=Rochester
O=Developer
OU=Test & Learn
CN=*.localhost.in

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = *.localhost.in

И еще один файл с именем v3.ext (я не совсем знаю об этом),

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = *.localhost.in

снова при запуске server.bat создаст сертификат, используя данные server.csr и экспортирует .pem, .pfx и .p12 вместе с файлом сертификата (также создаются server.csr и server.key).

Примечание. Вам придется изменить server.csr для своих пользовательских доменов (по умолчанию он будет создан для dev.localhost.in домена).

!!! Предупреждение: Вы должны запомнить введенные вами пароли. И вы можете изменить RootCA.csr и RootCA.bat как вам нужно. (чтобы увеличить срок действия, измените данные и т.д. c.)

Добавление к Windows,

Поскольку я использую windows, я знаю только о импорт в windows. Чтобы добавить windows, просто нажмите на файл RootCA.p12 и импортируйте его. Помните, что вы должны доверять RootCA в Trusted Root Сертификат подлинности И в Промежуточный сертификат сертификации .

Все браузеры, кроме firefox, будут доверять сайту. РАБОТА Готово (Частично) !!

Вы можете проверить это, используя мм c в прогоне. И затем оснастка сертификатов с использованием Ctrl + M.

Добавление к FireFox,

Поскольку FireFox использует он имеет менеджеров сертификатов и не обращает внимания на системные сертификаты. Таким образом, вам придется вручную импортировать RootCA.crt для доверия И все наследующие сертификаты будут доверенными. Как следует, Des Des

СЕЙЧАС, импортируйте сертификат и просто добавьте привязку HTTPS с сертификатом и разместите веб-сайт используя любой сервер (даже IIS et c).

...