考え方†
- クライアント証明には(自己認証局であっても)CA の裏付けが必要
- クライアント用の証明書の作成(発行)には認証局の証明書、鍵が必要
- クライアント証明書には SSLCACertificateFile を追加で apache2 に指定する必要あり
- SSLCACertificateFile = CA中間証明書 + root証明書
- kgb.hmuna.com には第三者証明書が登録済み
openssl バージョンの確認†
munakata@mvc:~$ openssl version -a
OpenSSL 1.1.1 11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
platform: debian-amd64
options: bn(64,64) rc4(8x,int) des(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=.
-fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -
DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM
-DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -
Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific
Apache バージョン確認†
munakata@mvc:~$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2019-08-26T13:41:23
Apache mod-ssl の確認†
munakata@mvc:~$ sudo apache2ctl -M | grep ssl
ssl_module (shared)
munakata@mvc:~$ cat /etc/apache2/mods-available/ssl.load
# Depends: setenvif mime socache_shmcb
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
munakata@mvc:~$ file /usr/lib/apache2/modules/mod_ssl.so
/usr/lib/apache2/modules/mod_ssl.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=683bb4e55c962655e5267000caad85252a63bfa3, stripped
kgb.hmuna.com 証明書情報†
- COMODO により発行されているもの

クライアント証明書の作成†
クライアント証明書の作成に必要な情報、操作などから方針を決定†
オレオレ CA を使ったクライアント証明書の作成†
- 自己認証 CA 局を作成
munakata@mvc:/etc/ssl/private_CA$ sudo openssl req -new -x509 -newkey rsa:2048 -out myca.crt -keyout private/myca.key -days 3650 -sha256
Generating a RSA private key
..........+++++
........................+++++
writing new private key to 'private/myca.key'
Enter PEM pass phrase: <----------------- bobbob274mocha
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) [JP]:JP
State or Province Name (full name) [Kanagawa]:Kanagawa
Locality Name (eg, city) []:Yokohama
Organization Name (eg, company) [Internet Widgits Pty Ltd]:hmuna
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:kgb.hmuna.com
Email Address []:
- 有効期間は 10年 とした
- パスフレーズは bobbob274mocha
- openssl.cnf ファイルを編集
- &ref(): File not found: "openssl.cnf" at page "HomeServer17B";
補足情報†
参考 URL†