Ошибка сертификата клиента HTTPS ERR_SSL_SERVER_CERT_BAD_FORMAT
Я пытаюсь использовать клиентскую систему сертификатов HTTPS в узле. Вот что я сделал для генерации файлов ssl:
# CA Key and Certificate
openssl genrsa -aes256 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
# Create the Server Key CSR and Certificate
openssl genrsa -aes256 -out server.key 4096
openssl req -new -key server.key -out server.csr
# Self Signing
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
# Create the Client Key and CSR
openssl genrsa -aes256 -out client.key 4096
openssl req -new -key client.key -out client.csr
# Sign client certificate
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
# Pack client key and certificate to be used in browsers
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
# Remove password from server key
openssl rsa -in server.key -out server.key.nopwd && mv server.key.nopwd server.key
Затем я использую следующий код (используя экспресс) в узле:
let server = https.createServer({
key : fs.readFileSync('./ssl/server.key'),
cert : fs.readFileSync('./ssl/server.crt'),
ca : fs.readFileSync('./ssl/ca.crt'),
requestCert : true,
rejectUnauthorized: false
}, app);
app
Быть экспресс-заявкой. Я тогда использую listen
функция. После добавления файла p12 в Chrome, когда я перехожу на свой веб-сайт, появляется ошибка: ERR_SSL_SERVER_CERT_BAD_FORMAT
Может кто-нибудь сказать мне, что я пропустил?
Примечание: у меня часто возникает ошибка в Chrome, когда я пытаюсь добавить файл p12: Unknown Error
, Я не помню, как мне удалось заставить его работать, чтобы получить ERR_SSL_SERVER_CERT_BAD_FORMAT
1 ответ
Решение
Факт, серийный номер должен быть уникальным. CURL не волнует браузер. Ты можешь использовать:
# CA Key and Certificate
openssl genrsa -aes256 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
# Create the Server Key CSR and Certificate
openssl genrsa -aes256 -out server.key 4096
openssl req -new -key server.key -out server.csr
# Self Signing
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
# Create the Client Key and CSR
openssl genrsa -aes256 -out test.key 4096
openssl req -new -key test.key -out test.csr
# Sign client certificate
openssl x509 -req -days 365 -in test.csr -CA ca.crt -CAkey ca.key -set_serial 02 -out test.crt
# Pack client key and certificate to be used in browsers
openssl pkcs12 -export -clcerts -in test.crt -inkey test.key -out test.p12
# Remove password from server key
openssl rsa -in server.key -out server.key.nopwd && mv server.key.nopwd server.key