wiki:tech/OpenSSL

OpenSSLメモ

ホスト名のaliasに対応した証明書

ここ参照

 https://ashishbanyal.wordpress.com/2014/12/22/configuring-ssl-requestscsr-including-multiple-alias-with-openssl/

証明書の作成

秘密鍵と自己証明書の作成。サーバ証明書、クライアント証明書ともこのコマンド一発で作成できる。単に通信路の暗号化するだけなら、これで十分。

$ openssl.exe req -nodes -new -x509 -keyout server.key -out server.crt
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
...........................................++++++
............++++++
writing new private key to 'server-key.pem'
Enter PEM pass phrase: [パスワード入力]
Verifying - Enter PEM pass phrase: [パスワード入力(確認用)]
-----
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                       [日本の国コードJPを入力]
State or Province Name (full name) [Some-State]:Kanagawa   [証明書保有者の県名を入力]
Locality Name (eg, city) []:Kamakura                       [市名を入力]
Organization Name (eg, company) [Internet Widgits Pty Ltd]:[所属組織名(会社名、団体名)等を入力]
Organizational Unit Name (eg, section) []:                 [所属組織における部署を入力]
Common Name (eg, YOUR name) []:Taro Okamoto                [保有者の名前を入力]
Email Address []:taro@gmail.com                            [メールアドレスを入力]
$

これで、server.key(秘密鍵)とserver.crt(証明書)が作成される。

パスワード証明書の作成

上記の手順で作成した秘密鍵を利用するには、パスワードが必要となります。Apacheで利用すると、Apacheを起動する都度パスワードの入力が必要です。今度は、パスワード無しの秘密鍵とそれをもとに自己証明書を作成してみましょう。

$ openssl genrsa -out server.key 1024
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
...................++++++++++++
..............................++++++++++++
e is 65537 (0x10001)

$ openssl.exe req -nodes -new -x509 -batch -key server.key -out server.crt
...

これでパスワード無しの秘密鍵と自己証明書が作成できます。今度は-batchオプションを付けているため、証明書の保有者情報は全て空欄で証明書が作成されます。

証明書の確認

$ openssl s_client -connect  yuna.ultimania.org:443 </dev/null 2>/dev/null  |  openssl x509 -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            04:0b:a4:f8:d5:5e:e0:92:a4:53:fc:9c:53:f1:b4:f6:d5:ba
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, O = Let's Encrypt, CN = R11 ★発行者
        Validity
            Not Before: Nov 12 04:22:58 2024 GMT
            Not After : Feb 10 04:22:57 2025 GMT
        Subject: CN = ultimania.org
        Subject Public Key Info:
  ...
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier: 
                71:34:2D:CC:B9:53:C7:AE:6D:FF:EB:95:E3:99:D4:3F:3D:3D:57:7F
            X509v3 Authority Key Identifier: 
                C5:CF:46:A4:EA:F4:C3:C0:7A:6C:95:C4:2D:B0:5E:92:2F:26:E3:B9
            Authority Information Access: 
                OCSP - URI:http://r11.o.lencr.org
                CA Issuers - URI:http://r11.i.lencr.org/
            X509v3 Subject Alternative Name: ★証明書のドメイン
                DNS:alminium.ultimania.org, DNS:drive.ultimania.org, DNS:kanon.ultimania.org, DNS:test.ultimania.org, DNS:ultimania.org, DNS:yuna.ultimania.org
            X509v3 Certificate Policies: 
                Policy: 2.23.140.1.2.1
            CT Precertificate SCTs: 
                Signed Certificate Timest

証明書タイプの見分け方

■ドメイン証明書

        Subject: CN = ultimania.org

CNがドメイン名のみ。

■企業認証証明書

        Subject: C = US, ST = WA, L = Redmond, O = Microsoft Corporation, CN = microsoft.com

所在地、組織情報が入っている。

■EVSSL

Issuer: C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Extended Validation Secure Server CA

IssuerにExtended Validation Secure ServerもしくはEV SSLが入っている。