2017-10-14 6 views
0

自己署名証明書を作成しようとしていますが、失敗しています。私が達成しようとしているのは、自分の携帯電話でWebワーカーを使ってWebページをテストすることです。このためにはhttpsが必要です。しかし、当分の間、私は自分のPC上でローカルに実行しようとしています。無効な自己署名証明書

私はWindows上でopensslを使用しています(私はhereからv1.1.0ライトバージョンを使用しています)。

私は自分のマシンにCA証明書をインストールしています。私はcertとkeyを提供するbrowser-sync httpsオプションでページを提供しています。

エラーNET :: ERR_CERT_INVALIDが表示されています。無効な部分は何ですか?私が実行している

コマンド:

openssl genrsa -des3 -out CA.key 2048 
openssl req -x509 -new -nodes -key CA.key -sha256 -days 182 -out CA.pem -config ca.cfg 
openssl x509 -outform der -in CA.pem -out CA.crt 
openssl genrsa -out dev.key 2048 
openssl req -new -key dev.key -out dev.csr -config dev.cfg 
openssl x509 -req -in dev.csr -CA CA.pem -CAkey CA.key -CAcreateserial -out dev.crt -days 1825 -sha256 -extfile dev.ext 
openssl pkcs12 -export -in dev.crt -inkey dev.key -out dev.p12 

CA.cfg:

[ req ] 

default_bits  = 2048 
default_keyfile  = server-key.pem 
distinguished_name = subject 
req_extensions  = req_ext 
x509_extensions  = x509_ext 
string_mask   = utf8only 

[ subject ] 

countryName     = Country Name (2 letter code) 
countryName_default   = PL 

stateOrProvinceName   = State or Province Name (full name) 
stateOrProvinceName_default = PL 

localityName    = Locality Name (eg, city) 
localityName_default  = PL 

organizationName   = Organization Name (eg, company) 
organizationName_default = Example Organization 

commonName     = Common Name (e.g. server FQDN or YOUR name) 
commonName_default   = Example Division 

emailAddress    = Email Address 
emailAddress_default  = [email protected] 

[ x509_ext ] 

subjectKeyIdentifier = hash 
authorityKeyIdentifier = keyid,issuer 

keyUsage    = digitalSignature, keyEncipherment 
subjectAltName   = @alternate_names 

[ req_ext ] 

subjectKeyIdentifier = hash 

keyUsage    = digitalSignature, keyEncipherment 
subjectAltName  = @alternate_names 

[ alternate_names ] 

DNS.1  = 192.168.0.17 

dev.cfg

[ req ] 

default_bits  = 2048 
default_keyfile  = server-key.pem 
distinguished_name = subject 
req_extensions  = req_ext 
x509_extensions  = x509_ext 
string_mask   = utf8only 

[ subject ] 

countryName     = Country Name (2 letter code) 
countryName_default   = PL 

stateOrProvinceName   = State or Province Name (full name) 
stateOrProvinceName_default = PL 

localityName    = Locality Name (eg, city) 
localityName_default  = PL 

organizationName   = Organization Name (eg, company) 
organizationName_default = Example Organization 

commonName     = Common Name (e.g. server FQDN or YOUR name) 
commonName_default   = Example Division 

emailAddress    = Email Address 
emailAddress_default  = [email protected] 

[ x509_ext ] 

subjectKeyIdentifier = hash 
authorityKeyIdentifier = keyid,issuer 

keyUsage    = digitalSignature, keyEncipherment 
subjectAltName   = @alternate_names 

[ req_ext ] 

subjectKeyIdentifier = hash 

keyUsage    = digitalSignature, keyEncipherment 
subjectAltName  = @alternate_names 

[ alternate_names ] 

DNS.1  = 192.168.0.17 

dev.ext:

authorityKeyIdentifier=keyid,issuer 
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 
subjectAltName = @alt_names 

[alt_names] 
DNS.1 = 192.168.0.17 
+0

デスクトップやモバイルでエラーが表示されますか? –

+0

'DNS.1 = 192.168.0.17' - IPアドレスはホスト名ではありません。代わりに 'IP.1'を使用してください。そして、あなたが役に立つCNを使っているのを見ていません。それとは別に、証明書をどのように使用するか、つまりサーバーにアクセスする際に使用するURLは何ですか? –

+0

IP.1に変更しました。ありがとうございます。残念ながら、私はまだ '無効な'エラーを取得しています。 https://192.168.0.17:3000でページにアクセスしている間、このエラーが表示されます。 – Tadeusz

答えて

0

私はこの質問を投稿することで素早く希望を失ったようです。 私はthisの解決策を見つけることができました。

Windowsマシンでは、dns(localhost)とip(192.168.0.17など)の両方を使用できます。

関連する問題