プライベート認証局 (CA) の構築 (OpenSSL)

OpenSSL の使用環境

プライベート認証局 (CA) を構築するにあたり、使用する OpenSSL は以下の環境のものを使用する。
※OpenSSL 3.0 からは標準で作成される秘密鍵が PKCS#8 形式となる。

作成ディレクトリ/etc/pki/CA
設定ファイル/etc/pki/tls/openssl.cnf
OpenSSL バージョン1.1.1k
OSRed Hat Enterprise Linux 8.7
OpenSSL の使用環境

プライベート認証局 (CA) の構築

初めにプライベート認証局 (CA) 用の秘密鍵を作成する。この時、秘密鍵は暗号化して保護する。

有効期限約20年 (7,300日)
RSA 暗号の鍵長4,096bit (約1,233桁 log2 x 4096)
秘密鍵の暗号方式AES256
秘密鍵のフォーマットPKCS#1 (OpenSSL 1 系の標準)
サブジェクト DNO=Private Lab, CN=Private Root CA 01
X.509 エンコーディング形式PEM (Base64)
プライベート認証局 (CA)
# mkdir -p /etc/pki/CA/private
# cd /etc/pki/CA

# openssl genrsa -aes256 4096 > ./private/cakey.pem
Generating RSA private key, 4096 bit long modulus (2 primes)
...................................................................................++++
.++++
e is 65537 (0x010001)
Enter pass phrase: [CA 秘密鍵のパスフレーズ]
Verifying - Enter pass phrase: [CA 秘密鍵のパスフレーズ]

# cat ./private/cakey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,308A1B621676E97... (略)

kI/bDDRZOJ+... (略)
-----END RSA PRIVATE KEY-----


※OpenSSL 3.0 以降で同様に PKCS#1 形式の秘密鍵を作成する場合
# openssl genrsa -traditional -aes256 4096 > ./private/cakey.pem

OpenSSL の設定ファイルを以下のように編集する。(変更箇所のみ抜粋)

# cp -a /etc/pki/tls/openssl.cnf /etc/pki/tls/.bak_openssl.cnf
# vi /etc/pki/tls/openssl.cnf

================= openssl.cnf ================
[ CA_default ]
dir             = /etc/pki/CA      ※パスが合っているかを確認
#policy         = policy_match
policy          = policy_anything  ※CAのサブジェクトDNに"C, ST, O"を必須としないため

[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true

# keyUsage = cRLSign, keyCertSign
keyUsage = critical, cRLSign, keyCertSign      ※コメントアウト解除、criticalを追記
==============================================

次に、プライベート認証局 (CA) の証明書 (Root 証明書) を発行する。発行後、 CA の証明書が以下の通りであることを確認する。

Issuer:O = Private Lab, CN = Private Root CA 01
Subject:O = Private Lab, CN = Private Root CA 01
Validity【Not Before】から【Not After】まで約20年
Subject Public Key Info:RSA Public-Key: (4096 bit)
X509v3 Basic Constraints:【critical】かつ【CA:TRUE】
X509v3 Key Usage:【critical】かつ【Certificate Sign, CRL Sign】
プライベート認証局 (CA) の 証明書 (Root 証明書)
# openssl req -new -key ./private/cakey.pem -out ./cacert.pem -subj "/O=Private Lab/CN=Private Root CA 01" -x509 -days 7300
Enter pass phrase for ./private/cakey.pem: [CA 秘密鍵のパスフレーズ]

# openssl x509 -text -in ./cacert.pem
certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            4a:97:09:c0:26:4b:af:ad:dc:36:f6:ab:4e:6c:bb:66:3c:8d:1a:20
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O = Private Lab, CN = Private Root CA 01
        Validity
            Not Before: Mar 21 08:42:03 2023 GMT
            Not After : Mar 16 08:42:03 2043 GMT
        Subject: O = Private Lab, CN = Private Root CA 01
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (4096 bit)
                Modulus:
                    00:bc:a1:4b:... (略)
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                4D:A0:8A:4C:5B:7C:47:36:14:26:73:CB:E6:97:D6:89:74:DE:05:14
            X509v3 Authority Key Identifier:
                keyid:4D:A0:8A:4C:5B:7C:47:36:14:26:73:CB:E6:97:D6:89:74:DE:05:14
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
    Signature Algorithm: sha256WithRSAEncryption
         b4:74:40:91:... (略)
-----BEGIN CERTIFICATE-----
MIIFVzCCAz+... (略)
-----END CERTIFICATE-----

サーバ証明書を発行するための管理ファイル等を作成する。

# touch ./index.txt
# mkdir ./newcerts
# mkdir ./crl
# echo '00' > ./crlnumber

サーバ証明書の発行 (RSA 暗号)

プライベート認証局 (CA) と同様にしてサーバ証明書用の秘密鍵を作成する。サブジェクトの別名を使用してマルチドメイン用の証明書を発行する。また、秘密鍵は暗号化しない。

有効期限約2年 (730日)
RSA 暗号の鍵長4,096bit (約1,233桁 log2 x 4096)
秘密鍵のフォーマットPKCS#1 (OpenSSL 1 系の標準)
サブジェクト DNCN=vm.lab
シリアル番号自動生成
シリアル番号情報ファイル/etc/pki/CA/serial
X.509 エンコーディング形式PEM (Base64)
X.509v3 拡張設定ファイルsv01_ext.txt
基本制約CA:FALSE
鍵用途重要【critical】
digitalSignature, keyEncipherment
拡張鍵用途重要【critical】
serverAuth, clientAuth
サブジェクトの別名 (SAN)【DNS】vm.lab, sv01.vm.lab, *.home.lab
【IP】192.168.1.10
CRL配布ポイント (CDP)http://www.vm.lab/revoke.crl
サーバ証明書の情報
# mkdir /etc/pki/CA/server/private
# cd /etc/pki/CA/server

# openssl genrsa 4096 > ./private/sv01_key.pem
Generating RSA private key, 4096 bit long modulus (2 primes)
.................................................................++++
..............................................................................................................................................................................................................................................++++
e is 65537 (0x010001)

# cat ./private/sv01_key.pem
-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAK... (略)
-----END RSA PRIVATE KEY-----

※ PKCS#8 形式の秘密鍵を作成する場合
# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out ./private/sv01_key.pem

# cat ./private/sv01_key.pem
-----BEGIN PRIVATE KEY-----
MIIJQwIBADAN... (略)
-----END PRIVATE KEY-----

サブジェクトの別名 (SAN) 等々、サーバ証明書に応じた個別設定の X.509v3 拡張設定ファイルを作成する。

# vi ./sv01_ext.txt

================================ sv01_ext.txt ================================
basicConstraints = CA:FALSE
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = critical, serverAuth, clientAuth
subjectAltName = DNS:vm.lab, DNS:sv01.vm.lab, DNS:*.home.lab, IP:192.168.1.10
crlDistributionPoints = URI:http://www.vm.lab/revoke.crl
==============================================================================

署名リクエスト (CSR) を作成する。作成した CSR ファイルより、サブジェクト DN 、及び RSA 暗号鍵長が正しいことを確認する。

# openssl req -new -key ./private/sv01_key.pem -out sv01_csr.pem -subj "/CN=vm.lab"

# openssl req -text -in sv01_csr.pem
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = vm.lab
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (4096 bit)
                Modulus:
                    00:d4:d7:27:... (略)
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         4d:4d:eb:f5:... (略)
-----BEGIN CERTIFICATE REQUEST-----
MIIEVjCCAj4CAQ... (略)
-----END CERTIFICATE REQUEST-----

署名リクエスト (CSR) をプライベート認証局 (CA) で署名することで、サーバ証明書を発行する。

# openssl ca -create_serial -days 730 -in ./sv01_csr.pem -extfile sv01_ext.txt
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: [CA 秘密鍵のパスフレーズ]
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number:
            04:25:bd:31:51:c7:c8:5b:86:0d:d2:e1:92:64:8b:1f:a5:dc:af:fc
        Validity
            Not Before: Mar 21 15:48:21 2023 GMT
            Not After : Mar 20 15:48:21 2025 GMT
        Subject:
            commonName                = vm.lab
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: critical
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Alternative Name:
                DNS:vm.lab, DNS:sv01.vm.lab, DNS:*.home.lab, IP Address:192.168.1.10
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://www.vm.lab/revoke.crl

Certificate is to be certified until Mar 20 15:48:21 2025 GMT (730 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            04:25:bd:31:51:c7:c8:5b:86:0d:d2:e1:92:64:8b:1f:a5:dc:af:fc
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O=Private Lab, CN=Private Root CA 01
        Validity
            Not Before: Mar 21 15:48:21 2023 GMT
            Not After : Mar 20 15:48:21 2025 GMT
        Subject: CN=vm.lab
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (4096 bit)
                Modulus:
                    00:d4:d7:27:... (略)
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: critical
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Alternative Name:
                DNS:vm.lab, DNS:sv01.vm.lab, DNS:*.home.lab, IP Address:192.168.1.10
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://www.vm.lab/revoke.crl

    Signature Algorithm: sha256WithRSAEncryption
         9f:c6:f4:dc:... (略)
-----BEGIN CERTIFICATE-----
MIIFSjCCAzKgAwIBAgI... (略)
-----END CERTIFICATE-----
Data Base Updated

作成されたサーバ証明書と管理ファイルを確認する。

# cd ..
# ll
total 20
-rw-r--r--. 1 root root 1911 Mar 21 17:42 cacert.pem
drwxr-xr-x. 2 root root    6 Mar 21 23:27 crl
-rw-r--r--. 1 root root    3 Mar 22 00:46 crlnumber
-rw-r--r--. 1 root root   77 Mar 22 00:48 index.txt
-rw-r--r--. 1 root root   21 Mar 22 00:48 index.txt.attr
-rw-r--r--. 1 root root    0 Mar 22 00:47 index.txt.old
drwxr-xr-x. 2 root root   58 Mar 22 00:48 newcerts
drwxr-xr-x. 2 root root   23 Mar 21 17:40 private
-rw-r--r--. 1 root root   41 Mar 22 00:48 serial
drwxr-xr-x. 3 root root   81 Mar 21 23:32 server

# cat serial
0425BD3151C7C85B860DD2E192648B1FA5DCAFFD

# cat index.txt
V       250320154821Z           0425BD3151C7C85B860DD2E192648B1FA5DCAFFC        unknown /CN=vm.lab

# cat index.txt.attr
unique_subject = yes

# ll ./newcerts/
total 8
-rw-r--r--. 1 root root 7090 Mar 22 00:48 0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.pem
※以下、インデックスファイルを生成せずに、直接署名する場合。
# openssl x509 -req -days 730 -in ./sv01_csr.pem -CA ../cacert.pem -CAkey ../private/cakey.pem -CAcreateserial -CAserial ../serial -out ./sv01_crt.pem -extfile sv01_ext.txt
Signature ok
subject=CN = vm.lab
Getting CA Private Key
Enter pass phrase for ../private/cakey.pem: [CA 秘密鍵のパスフレーズ]

# cat ../serial
2A8566399844F7F7DC2992052A066B6DC4B5081E

# openssl x509 -text -in sv01_crt.pem
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            2a:85:66:39:98:44:f7:f7:dc:29:92:05:2a:06:6b:6d:c4:b5:08:1e
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O = Private Lab, CN = Private Root CA 01
        Validity
            Not Before: Mar 21 13:03:21 2023 GMT
            Not After : Mar 20 13:03:21 2025 GMT
        Subject: CN = vm.lab
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (4096 bit)
                Modulus:
                    00:d4:d7:27:... (略)
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: critical
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Alternative Name:
                DNS:vm.lab, DNS:sv01.vm.lab, DNS:*.home.lab, IP Address:192.168.1.10
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://www.vm.lab/revoke.crl

    Signature Algorithm: sha256WithRSAEncryption
         67:3f:a1:5e:... (略)
-----BEGIN CERTIFICATE-----
MIIFSjCCAzKgAw... (略)
-----END CERTIFICATE-----

サーバ証明書の失効

発行したサーバ証明書を失効させる。失効させるサーバ証明書は対象の証明書ファイルを指定する。失効後に CRL ファイルを生成する。

# cd /etc/pki/CA
# echo '00' > ./crlnumber    ※未作成の場合

# openssl ca -revoke ./newcerts/0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: [CA 秘密鍵のパスフレーズ]
Revoking Certificate 0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.
Data Base Updated

# ll
total 28
-rw-r--r--. 1 root root 1911 Mar 21 17:42 cacert.pem
drwxr-xr-x. 2 root root    6 Mar 21 23:27 crl
-rw-r--r--. 1 root root    3 Mar 22 00:46 crlnumber
-rw-r--r--. 1 root root   90 Mar 22 00:51 index.txt
-rw-r--r--. 1 root root   21 Mar 22 00:51 index.txt.attr
-rw-r--r--. 1 root root   21 Mar 22 00:48 index.txt.attr.old
-rw-r--r--. 1 root root   77 Mar 22 00:48 index.txt.old
drwxr-xr-x. 2 root root   58 Mar 22 00:48 newcerts
drwxr-xr-x. 2 root root   23 Mar 21 17:40 private
-rw-r--r--. 1 root root   41 Mar 22 00:48 serial
drwxr-xr-x. 3 root root   81 Mar 21 23:32 server

# cat index.txt
R       250320154821Z   230321155100Z   0425BD3151C7C85B860DD2E192648B1FA5DCAFFC        unknown /CN=vm.lab

# cat index.txt.attr
unique_subject = yes

サーバ証明書を失効させたため、証明書失効リスト (CRL) を生成する。

# openssl ca -gencrl -out ./revoke.crl
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: [CA 秘密鍵のパスフレーズ]

# cat ./revoke.crl
-----BEGIN X509 CRL-----
MIICtTCBngIBATAN... (略)
-----END X509 CRL-----

# openssl crl -text -in revoke.crl
Certificate Revocation List (CRL):
        Version 2 (0x1)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O = Private Lab, CN = Private Root CA 01
        Last Update: Mar 21 15:52:27 2023 GMT
        Next Update: Apr 20 15:52:27 2023 GMT
        CRL extensions:
            X509v3 CRL Number:
                0
Revoked Certificates:
    Serial Number: 0425BD3151C7C85B860DD2E192648B1FA5DCAFFC
        Revocation Date: Mar 21 15:51:00 2023 GMT
    Signature Algorithm: sha256WithRSAEncryption
         76:49:c7:36:... (略)
-----BEGIN X509 CRL-----
MIICtTCBngIBATANBgkqh... (略)
-----END X509 CRL-----

失効状態を確認する

# openssl verify -crl_check -purpose sslserver -issuer_checks -verbose -CAfile ./cacert.pem -CRLfile ./revoke.crl ./newcerts/0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.pem
CN = vm.lab
error 23 at 0 depth lookup: certificate revoked
error ./newcerts/0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.pem: verification failed

※失効前
# # openssl verify -crl_check -purpose sslserver -issuer_checks -verbose -CAfile ./cacert.pem -CRLfile ./revoke.crl ./newcerts/0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.pem
./newcerts/0425BD3151C7C85B860DD2E192648B1FA5DCAFFC.pem: OK

サーバ証明書の発行 (楕円曲線暗号 ECDSA P-256)

RSA 暗号とは異なる公開鍵暗号方式の ECDSA (Elliptic Curve Digital Signature Algorithm) 署名方式でサーバ証明書を発行する。そのために、ECC (Elliptic Curve Cryptography) 秘密鍵を NIST P-256 暗号アルゴリズムで生成する。

# openssl ecparam -list_curves
  secp224r1 : NIST/SECG curve over a 224 bit prime field
  secp256k1 : SECG curve over a 256 bit prime field
  secp384r1 : NIST/SECG curve over a 384 bit prime field
  secp521r1 : NIST/SECG curve over a 521 bit prime field
  prime256v1: X9.62/SECG curve over a 256 bit prime field

# openssl ecparam -name prime256v1 -genkey -out ./private/sv02_key.pem

# cat ./private/sv02_key.pem
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIAy/qMDNQ5hP9BMg0b/BIVP... (略)
-----END EC PRIVATE KEY-----

# openssl ecparam -text -in ./private/sv02_key.pem
ASN1 OID: prime256v1
NIST CURVE: P-256
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----

# openssl asn1parse -i -in ./private/sv02_key.pem
    0:d=0  hl=2 l=   8 prim: OBJECT            :prime256v1

この秘密鍵を用いて、同様に署名リクエスト (CSR) を作成する。作成した CSR ファイルより、サブジェクト DN 、及び NIST P-256 暗号の公開鍵が含まれていることを確認する。

# openssl req -new -key ./private/sv02_key.pem -out sv02_csr.pem -subj "/CN=vm.lab"

# # openssl req -text -in sv02_csr.pem
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = vm.lab
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:a4:27:93:8a:80... (略)
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        Attributes:
            a0:00
    Signature Algorithm: ecdsa-with-SHA256
         30:46:02:21:00:c2... (略)
-----BEGIN CERTIFICATE REQUEST-----
MIHMMHMCAQAwETEPMA0GA1UEAwwGdm... (略)
-----END CERTIFICATE REQUEST-----

サブジェクトの別名 (SAN) 等々、サーバ証明書に応じた個別設定の X.509v3 拡張設定ファイルを作成する。

# vi ./sv02_ext.txt

================================ sv01_ext.txt ================================
basicConstraints = critical, CA:FALSE
keyUsage = critical, digitalSignature  ※(keyEnciphermentがあるとECDH_P256になる)
extendedKeyUsage = serverAuth,clientAuth
subjectAltName = DNS:vm.lab, DNS:sv02.vm.lab, DNS:*.home.lab, IP:192.168.1.20
crlDistributionPoints = URI:http://www.vm.lab/revoke.crl
==============================================================================

署名リクエスト (CSR) をプライベート認証局 (CA) で署名することで、サーバ証明書を発行する。

# openssl ca -create_serial -days 730 -in ./sv02_csr.pem -extfile sv02_ext.txt
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number:
            04:25:bd:31:51:c7:c8:5b:86:0d:d2:e1:92:64:8b:1f:a5:dc:b0:03
        Validity
            Not Before: Apr  8 14:30:55 2023 GMT
            Not After : Apr  7 14:30:55 2025 GMT
        Subject:
            commonName                = vm.lab
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Alternative Name:
                DNS:vm.lab, DNS:sv02.vm.lab, DNS:*.home.lab, IP Address:192.168.1.20
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://www.vm.lab/revoke.crl

Certificate is to be certified until Apr  7 14:30:55 2025 GMT (730 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            04:25:bd:31:51:c7:c8:5b:86:0d:d2:e1:92:64:8b:1f:a5:dc:b0:03
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O=Private Lab, CN=Private Root CA 01
        Validity
            Not Before: Apr  8 14:30:55 2023 GMT
            Not After : Apr  7 14:30:55 2025 GMT
        Subject: CN=vm.lab
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:a4:27:93:8a:80... (略)
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Alternative Name:
                DNS:vm.lab, DNS:sv02.vm.lab, DNS:*.home.lab, IP Address:192.168.1.20
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://www.vm.lab/revoke.crl

    Signature Algorithm: sha256WithRSAEncryption
         9d:72:2c:55:21:be... (略)
-----BEGIN CERTIFICATE-----
MIIDqzCCAZOgAwIBAgIUBCW9MV... (略)
-----END CERTIFICATE-----
Data Base Updated

【参考URL】

5分でわかる!プライベート認証局(CA)の構築とサーバー証明書の発行方法
OpenSSLで自己署名証明書を作成する(複数ホスト名:SAN/Subject Alternative Name設定付き)
OpenSSLとプライベートCAでメールサーバ用の秘密鍵と公開鍵証明書を作成
証明書に x509v3 拡張属性を追加する
OpenSSLで発行した証明書を失効させる。
クライアント証明書の失効
今度こそopensslコマンドを理解して使いたい (1) ルートCAをスクリプトで作成する
OpenSSLによる証明書検証環境構築(802.1x,CRL,OCSP)
openssl verify の attime/crl_check_all オプション
OpenSSL 3.0のTLS証明書用プライベート鍵生成方法
openssl-genpkey
OpenSSLで楕円曲線暗号(Elliptic Curve Cryptography: ECC)を使用した自己証明書を作成する方法
証明書検証の原理
電子署名と公開鍵暗号方式
キーの種類、アルゴリズム、および操作