OpenSSL の使用環境
プライベート認証局 (CA) を構築するにあたり、使用する OpenSSL は以下の環境のものを使用する。
※OpenSSL 3.0 からは標準で作成される秘密鍵が PKCS#8 形式となる。
作成ディレクトリ | /etc/pki/CA |
設定ファイル | /etc/pki/tls/openssl.cnf |
OpenSSL バージョン | 1.1.1k |
OS | Red Hat Enterprise Linux 8.7 |
プライベート認証局 (CA) の構築
初めにプライベート認証局 (CA) 用の秘密鍵を作成する。この時、秘密鍵は暗号化して保護する。
有効期限 | 約20年 (7,300日) |
RSA 暗号の鍵長 | 4,096bit (約1,233桁 log2 x 4096) |
秘密鍵の暗号方式 | AES256 |
秘密鍵のフォーマット | PKCS#1 (OpenSSL 1 系の標準) |
サブジェクト DN | O=Private Lab, CN=Private Root CA 01 |
X.509 エンコーディング形式 | PEM (Base64) |
# 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】 |
# 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 系の標準) |
サブジェクト DN | CN=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)を使用した自己証明書を作成する方法
証明書検証の原理
電子署名と公開鍵暗号方式
キーの種類、アルゴリズム、および操作