Firefox не может отобразить мой сертификат si gnet root, который в противном случае работает - PullRequest
0 голосов
/ 15 января 2020

Я хочу использовать самозаверяющие сертификаты в моем собственном локальном домене.

Я создаю root сертификат, затем промежуточный сертификат. Затем я подписываю сертификат сервера промежуточным сертификатом.

Я добавляю сертификат root в качестве «Полномочия» к Firefox.

Затем я получаю доступ к серверу, который использует сертификат сервера и TLS работает как положено. Я вижу сертификат подключения как подписанный, как я выбрал, и т. Д. c.

Но если я посмотрю подробности о сертификате root в списке "Полномочия" в Firefox, он не может показать сертификат и сообщает об ошибке:

Вот как я создаю root сертификат:

CERT_DN="/C=US/ST=NY/L=New York City/O=My Org/CN=${DOMAIN}"

openssl genrsa -passout pass:1111 -des3 -out ca.key.pem 4096

openssl req -passin pass:1111 -new -x509 -days ${ROOT_DAYS} -key ca.key.pem -out ca.cert.pem \
        -subj "${CERT_DN}/OU=Eng local testing, root"

Вот как я создаю промежуточный сертификат:

openssl genrsa -passout pass:1111 -des3 -out ca-intermediate.key.pem 4096

openssl req -passin pass:1111 -new -key ca-intermediate.key.pem -out ca-intermediate.csr \
        -subj "${CERT_DN}/OU=Eng local testing, intermediate"

openssl x509 -req -passin pass:1111 -days ${INTERMEDIATE_DAYS} -extensions v3_intermediate_ca \ 
        -extfile ${openssl_conf_file} \
        -in ca-intermediate.csr -CA ca.cert.pem -CAkey ca.key.pem -set_serial 01 \
        -out ca-intermediate.cert.pem

openssl rsa -passin pass:1111 -in ca-intermediate.key.pem -out ca-intermediate.key.pem

Так я создаю сертификат сервера (который я затем устанавливаю в браузер):

openssl genrsa -passout pass:1111 -des3 -out ${server_name}.key.pem 4096

openssl req -passin pass:1111 -new -key ${server_name}.key.pem -out ${server_name}.csr \
        -subj  "/C=US/ST=NY/L=New York City/O=My Org/CN=${server_name}.${DOMAIN}"

openssl x509 -req -passin pass:1111 -days 365 -in ${server_name}.csr \
        -CA ${CERTS_DIR}/ca-intermediate.cert.pem -CAkey ${KEYS_DIR}/ca-intermediate.key.pem \
        -set_serial 01 -out ${server_name}.cert.pem

openssl rsa -passin pass:1111 -in ${server_name}.key.pem -out ${server_name}.key.pem

CHAIN_CERTS="${server_name}.cert.pem ${CERTS_DIR}/ca-intermediate.cert.pem ${CERTS_DIR}/ca.cert.pem"
cat ${CHAIN_CERTS} > ${CERTS_DIR}/${server_name}-chain.cert.pem

Это все выглядит вполне стандартно и в соответствии с онлайн-инструкциями .

Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...