テスト用のSSL証明書を作成する
目的
SSLを使った各種テストをするときに、テスト用のSSL証明書があると便利なんで、作成手順をまとめました。
CA局をたてて、いろんなドメインの証明書をつくることができるのが目的です。CA局をつくって、それから、いろんなドメインの証明書を発行します。
準備
1.CentOS 6.5 など (openssl がはいっていれば、なんでもいいです。)
2.openssl
参考 http://qiita.com/mako10z/items/ef15372d4cf4621a674e
作成手順(CA局)
作業には、root 権限が必要です。
openssl の設定ファイル (CentOS では、/etc/pki/tls/openssl.cnf)は、コンパイル時に
決め打ちのようです。環境変数で、別の設定ファイルを見に行ったりできるかもしれませんが、
よくわからないので、既定のopenssl の設定ファイルに変更をかけます。
※ コードは、シェルスクリプトにすれば動くように書いてあります。ディレクトリをBにしてあります。
CA局ディレクトリ作成
まず、CA局を入れるディレクトリを作成します。(ディレクトリ名は任意です。)
とりあえず、/etc/pki/hogeCA にしました。
mkdir /etc/pki/hogeCA
mkdir /etc/pki/hogeCA/private
mkdir /etc/pki/hogeCA/newcerts
openssl.cnf 変更
/etc/pki/tls/openssl.cnf を2箇所変更します。
※ OSによって、openssl.cnf 設定ファイル名や置かれている場所は異なります。
CA局ディレクトリの指定
[ CA_default ]
dir = /etc/pki/hogeCA
POLICY の指定
いろんなドメインに対して証明書を発行できるCA局にします。
policy は、policy_match になっていますが、policy_anything に変更です。
これで、どんなドメイン(SSL用語では、common name)でも対応できます。
policy = policy_anything
CA局作成
初期値設定
echo "01" > /etc/pki/hogeCA/serial
touch /etc/pki/hogeCA/index.txt
3年間程度有効なCA局(-days 1825 の部分がその指定)つくります。
B="/etc/pki/hogeCA"
openssl req -new -x509 -newkey rsa:2048 \
-out $B/cacert.pem -keyout \
$B/private/cakey.pem -days 1825
いろいろ設定を聞かれますが。とりあえず、下記のように答えておきました。
policy がanything とゆるいので適当でいいです。
パスワードも適当にどうぞ
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:chiyodaku
Organization Name (eg, company) [Default Company Ltd]:hoge
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:hoge.com
確認
設定がきちんとできているかを確認できます。
B="/etc/pki/hogeCA"
openssl x509 -in $B/cacert.pem -text
ブラウザ用のCA局証明書
ブラウザに取り込んでオレオレ証明書でも、エラーがでないようにするためのCA局証明書を
つくります。hogecert.der がそれです。
B="/etc/pki/hogeCA"
openssl x509 -inform PEM -outform DER -in $B/cacert.pem -out $B/hogecert.der
hogecert.der はバイナリファイルです。
取り込みは、ブラウザごとにことなります。
WEB 上に一時的にあげて、
.htaccess で、AddType application/x-x509-ca-cert der を設定して
ダウンロードするのがインストールでは便利でしょう。
証明書発行
秘密鍵とCSR(証明書要求) を一緒につくる
password は適当にいれてあとで抜きます。設定は省略可能なのですが、common name (ドメイン名)
は設定しましょう。
B="/etc/pki/hogeCA"
openssl req -new -keyout $B/hoge_key.pem -out $B/hoge_csr.pem
作業上面倒なので、秘密鍵からパスワードを除く
B="/etc/pki/hogeCA"
openssl rsa -in $B/hoge_key.pem -out $B/hoge_key.pem
CSRから証明書をつくる
B="/etc/pki/hogeCA"
openssl ca -out $B/hoge_cert.pem -infiles $B/hoge_csr.pem
証明書を確認する
B="/etc/pki/hogeCA"
openssl x509 -in $B/hoge_cert.pem -text
web で設定する。
あとは、hoge_key.pem と hoge_cert.pem を、apache のSSL設定の中で
次のように設定します。
SSLCertificateFile /etc/pki/hogeCA/hoge_cert.pem
SSLCertificateKeyFile /etc/pki/hogeCA/hoge_key.pem
Author And Source
この問題について(テスト用のSSL証明書を作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/zanjibar/items/70dedfe63cb4b0c792f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .