4
Windows 10でExpress.jsの自己署名証明書を使用してlocalhostにサイトを設定しようとしています。ここにはExpress.jsサーバーコードがあります。SSL自己署名証明書のChrome(net :: ERR_CERT_COMMON_NAME_INVALID)エラー
index.js
const https = require('https')
const express = require('express')
const app = express()
const fs = require('fs')
const path = require('path')
const httpsOptions = {
cert: fs.readFileSync(path.resolve(__dirname, 'ssl', 'ca.crt')),
key: fs.readFileSync(path.resolve(__dirname, 'ssl', 'ca.key'))
}
const router = require('./router')
app.use('/people', router)
https.createServer(httpsOptions, app)
.listen(3443)
私はまた、クロムに認証局ca.crtファイルをインポートして、クロムを再起動しました。以下に示すようにしかし、私はまだクロームでエラーを持っている:
は、この問題に おかげ
私は、次のコマンドを使用して、鍵と証明書を作成したを解決する方法を案内してください。
# certificate authority key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out ca.key
# server key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out server.key
# certificate authority
openssl req -new -x509 -days 365 -key ca.key -subj "/CN=Test CA/O=Test Organization" -out ca.crt
# certificate signing request
openssl req -new -key server.key -subj "/CN=localhost/O=Test Organization" -out server.csr
# server certificate
openssl x509 -days 365 -req -in server.csr -CAcreateserial -CA ca.crt -CAkey ca.key -out server.crt
# verification
openssl verify -verbose -CAfile ca.crt server.crt
システム情報
- のOpenSSL:1.1.0e 2017年2月16日
- ノード:カップル過ごし7.7.1
- のWindows 10
を生成:以下の方法は、私のために働きました](http://stackoverflow.com/questions/27294589/creating-self-signed-certificate-for-domain-and-subdomains-neterr-cert-commo)、あなたの問題に似ているようです – Frederic
あなたのエンドエンティティ/サーバー証明書の形式が正しくありません。 *** 'CN = localhost' ***が間違っています。ホスト名は常に* SAN *に入ります。 * CN *内に存在する場合は、* SAN *にも存在する必要があります(この場合は2回リストする必要があります)。詳細なルールと理由については、[証明機関との証明書署名要求の署名方法](http://stackoverflow.com/a/21340898/608639)および[opensslによる自己署名証明書の作成方法]( http://stackoverflow.com/q/10175812/608639) – jww
@jww CN = Common Name、SANは何を表しますか? –