永遠のプログラマ☆

還暦過ぎてもプログラマ(40年)

SAN付きオレオレ証明書の作成☆

こんにちは。

ワクチン3回目。

ミッションコンプリート。

 

さて、会社のWEBテストサーバー。

Chrome でサイト表示。

 

f:id:Broadshotx:20220213092758p:plain

Chromeオレオレ証明書

この接続ではプライバシーが保護されません
redbull では、悪意のあるユーザーによって、
パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。
NET::ERR_CERT_AUTHORITY_INVALID

 

オレオレ証明書の貧乏くさいレッドマーク。

 

クライアントPCに

[信頼されたルート証明機関]に

作成したオレオレ証明書をインポート。

 

すればOKだが、

いちいち証明書ごとにやるのは面倒。


複数サイトを証明する

SAN(Subject Alternative Name) のオレオレ証明書の作成メモ。

 

早速、ググって参考サイトを発見。


助かりました。ペコリ。

SAN(Subject Alternative Name) のオレオレ証明書
https://qiita.com/nis_nagaid_1984/items/b8f87d41ea108d47af61

 

①SANファイル作成

echo subjectAltName = DNS:test-a,DNS:test-b,DNS:test-c,DNS:test-d,DNS:test-e> test-x.txt

 

②秘密キー作成

openssl genrsa -des3 -out test-x.key 2048
Enter PEM pass phrase:****
Verifying - Enter PEM pass phrase:****

 

CSR作成

openssl req -new -key test-x.key -out test-x.csr
Enter pass phrase for test-x.key:****
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Minato-ku
Locality Name (eg, city) :Roppongi
Organization Name (eg, company) [Internet Widgits Pty Ltd]:test-x
Organizational Unit Name (eg, section)
:test-x
Common Name (e.g. server FQDN or YOUR name) :test-x
Email Address
:(改行のみ)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password :(改行のみ)
An optional company name
:(改行のみ)

 

④秘密キーからパスワード除去
openssl rsa -in test-x.key -out test-x.key
Enter pass phrase for test-x.key:****
writing RSA key

 

⑤証明書作成 SANファイルを -extfileで指定
openssl x509 -req -days 3650 -in test-x.csr -signkey test-x.key -out test-x.crt -extfile test-x.txt

 

⑥内容確認

openssl x509 -in test-x.crt -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            36:e8:8b:5b:3f:11:67:28:d0:86:c4:06:b3:32:04:53:b3:67:24:fb
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = JP, ST = Minato-ku, L = Roppongi, O = test-x, OU = test-x, CN = test-x
        Validity
            Not Before: Feb 13 06:03:58 2022 GMT
            Not After : Feb 11 06:03:58 2032 GMT
        Subject: C = JP, ST = Minato-ku, L = Roppongi, O = test-x, OU = test-x, CN = test-x
        (省略)
        X509v3 extensions:
            X509v3 Subject Alternative Name:
                DNS:test-a, DNS:test-b, DNS:test-c, DNS:test-d, DNS:test-e
            X509v3 Subject Key Identifier:
                89:F6:C8:6A:09:82:F9:41:1C:D2:3F:45:8B:A4:EA:2F:02:9C:8B:32

 

text-x.crt をダブルクリックして

以下のように表示されたら、OK牧場

f:id:Broadshotx:20220213192111p:plain

SAN付きオレオレ証明書



最後に

サイトを表示したいクライアントPCで
オレオレ証明書をダブルクリック。

[信頼されたルート証明機関]に

作成したオレオレ証明書をインポート。

 

複数サイトでも、1個の証明書でOK牧場

https://test-a/hogehoge

https://test-b/hogehoge