LoginSignup
16
19

More than 5 years have passed since last update.

テスト用のSSL証明書を作成する

Last updated at Posted at 2014-11-15

目的

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

16
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
19