次のスクリプトを利用して、簡単に証明書生成環境を構築します。
https://ehobby.jp/data/public/ca.tar.gz
以下、/var/lib/ssl/ca 配下に環境を構築するものとして記載します。
mkdir /var/lib/ssl cd /var/lib/ssl wget https://ehobby.jp/data/public/ca.tar.gz tar zxvf ca.tar.gz mv ca rootca cd rootca ./cert-cainit.sh 1, 認証局の証明書管理環境を初期化します。 継続してよろしいですか? [y/n]
y[Enter] を入力します。
2. 秘密鍵を生成します。 継続してよろしいですか? [y/n]
y[Enter] を入力します。
Generating RSA private key, 2048 bit long modulus ..................+++ .............................................+++ e is 65537 (0x10001) Enter pass phrase for /var/lib/ssl/rootca/private/privkey.pem:
秘密鍵のパスフレーズを入力します。
Verifying - Enter pass phrase for /var/lib/ssl/rootca/private/priv.pem:
再度秘密鍵のパスフレーズを入力します。
3. CSR (証明書署名要求) を作成します。 継続してよろしいですか? [y/n]
y[Enter] を入力します。
Enter pass phrase for /var/lib/ssl/rootca/private/privkey.pem:
秘密鍵のパスフレーズを入力します。
...(省略)... 国名 (2文字コード) [JP]:
国名を入力します。日本であれば JP[Enter] を入力します。
都道府県名 []:[]
都道府県名を入力します。入力が不要であれば、そのまま [Enter] を入力します。 ※多くのルート認証局では、都道府県名を指定していません。
市町村名 []:[]
市町村名を入力します。入力が不要であれば、そのまま [Enter] を入力します。 ※多くのルート認証局では、市町村名を指定していません。
組織名 [Ehotty]:[]
組織名を入力します。
部門名 []:[]
部門名を入力します。
コモンネーム(名前, サーバーホスト名など) []:[]
コモンネームを入力します。 例) XXXX Root CA
Eメールアドレス []:[]
Eメールアドレスを入力します。
パスワード [8-20文字] (空でも良い) []:[]
拡張設定として、パスワードを入力します。 不要であれば、そのまま [Enter] を入力します。
オプション国名 (空でも良い) []:[]
オプションとなる国名を入力します。 不要であれば、そのまま [Enter] を入力します。
4. 自己署名します。 継続してよろしいですか? [y/n]:[]
y[Enter] を入力します。
Enter pass phrase for bin/../private/privkey.pem:
秘密鍵のパスフレーズを入力します。
openssl genrsa -sha256 -out private/privkey.pem 2048
INPUT | - |
OUTPUT | private/privkey.pem |
オプションの詳細については、下記コマンドで確認ください。
openssl genrsa --help
openssl req -new -config conf/openssl.cnf \ -key private/privkey.pem \ -days 730 \ -sha256 \ "/C=JP/O=Ehobby/CN=Ehobby Root CA" \ -out request.csr
INPUT | private/privkey.pem |
OUTPUT | request.csr |
オプションの詳細については、下記コマンドで確認ください。
openssl req --help
openssl x509 -req -sha -extfile conf/openssl.cnf \ -extensions v3_ca \ -days 730 \ -out cacert.pem \ -in request.csr \ -signkey private/privkey.pem openssl x509 -inform pem -in cacert.pem \ -outform der -out cacert.crt
INPUT | private/privkey.pem, request.csr |
OUTPUT | cacert.pem , cacert.crt |
オプションの詳細については、下記コマンドを確認ください。
openssl x509 --help