いわゆるチェーン証明書は商用のデジタル証明書では結構使われている。
しかし、オレオレ仕様での発行方法はあまり記載されていない。情報も少ないのだがうまくいったので、記録として書いておく。
大枠はこうである
1.自分専用のチェーン認証局を自分で設定してつくる
2.普通にOpenSSLでオレオレデジタル証明書を作る
3.チェーン認証局でチェーン証明書を発行する
4.サーバに設定して終わり
==============
1.自分専用のチェーン認証局の作り方
A)認証局の基本設定ファイルの設定
ホームディレクトリにログオン(以下の作業はユーザ権限で$)
cp /etc/pki/tls/openssl.cnf ./
vi openssl.cnf (以下の編集箇所を編集する)
dir = ../rootca
database = $dir/index.txt
new_certs_dir = $dir/newcerts
certificate = $dir/rootca.crt
serial = $dir/serial
private_key = $dir/rootca.key
x509_extensions = そのまま
※dir と privatekey の行を修正する
B)必要なディレクトリ類をつくる
$ mkdir conf tmp
$ mv ./openssl.cnf ./conf/
$ touch tmp/index.txt tmp/serial
$ echo “01” > serial (これをしないとエラーがでる)
$ mkdir tmp/newcerts
$ mkdir ca1
2.一段階目のデジタル証明を作る
openssl req -new -keyout rootca.key -out rootca.csr
※いろいろ聞いてきますが適切に入力してください。急いでいるときは適当でもいいでしょう。
※産総研の証明書オタクに怒られるかもしれませんが、その時は謝って教えてもらってください(笑)
openssl rsa -in rootca.key -out rootca.key
openssl x509 -req -signkey rootca.key -in rootca.csr -out rootca.crt -days 36500
3.二段階目(チェーン証明書)証明書を作る
openssl req -new -keyout ca.key -out ca.csr
※いろいろ聞いてきますが適切に入力してください。急いでいるときは適当でもいいでしょう。
※産総研の証明書オタクに怒られるかもしれませんが、その時は謝って教えてもらってください(笑)
openssl rsa -in ca.key -out ca.key
openssl ca -policy policy_anything -config ../conf/openssl.cnf -out ca.crt -infiles ca.csr
4.デジタル証明書をリネームして必要なところに設定します。
cp rootca.crt server.crt
cp rootca.csr server.csr
cp rootca.key server.key
cp ca1/ca.crt server-chain.crt
server.crt と server.key と server-chain.crt の3つが必要なファイルです。
デフォルトの /etc/httpd/conf/httpd.confの中にそれぞれ sever.??? でファイルが指定されているので
そのパスを変更するとそのパスの場所に上記のファイルをコピーしてください。
httpd.confともともとあった、server.??? のバックアップはかならず事前にとっておいてくださいね。
以上です。
Follow me on Social Media