CentOS6.8 自己署名証明書(オレオレ証明書)を作成する
Red Hatでオレオレ証明書を作成する機会があったので、
Cent OSでも試してみます。
基本的には同じかと思います。
Linuxの多くのディストリビューションは、OpenSSLを採用しているかと思います。
OpenSSLを活用することで、TLS/SSL通信や暗号化を行うことができますが、
今回は自己署名証明書を作成してみました。
OPENSSLの導入とバージョンの確認
OpenSSLのインストール場所と、
バージョンの確認方法です。
バージョンの確認は「openssl version」です。
[root@localhost certs]# which openssl
/usr/bin/openssl
[root@localhost certs]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
サーバの鍵の作成と、オレオレ証明書の作成
(1)サーバ鍵の作成
今回は、「localhost.crt」という名称の鍵を作成します。
「localhost」の部分は任意の名前で大丈夫なようです。
実行コマンド:
[root@localhost ~]# cd /etc/pki/tls/certs
[root@localhost certs]# make localhost.crt
結果:
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > localhost.key
Generating RSA private key, 2048 bit long modulus
.............+++
...................................................................................+++
e is 65537 (0x10001)
Enter pass phrase:
3078133484:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:You must type in 4 to 8191 characters
Enter pass phrase:
3078133484:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:You must type in 4 to 8191 characters
Enter pass phrase:
Verifying - Enter pass phrase:
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key localhost.key -x509 -days 365 -out localhost.crt -set_serial 0
Enter pass phrase for localhost.key:
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.
-----
(2)サーバ証明書の作成
上記の実行結果に続いて、証明書作成の手続きに移ります。
証明書作成の際に必要な情報があります。
- Country Name:サーバ管理を行う組織の所在地の国名(2文字)
- State or Province Name:サーバ管理を行う組織の所在地の地域名
- Locality Name:サーバ管理を行う組織の所在地の都市名
- Organization Name:会社名などの組織名
- Organizational Unit Name:会社の部門など
- Common Name:FQDNなど
- Email Address :サーバや組織の管理者のメルアド
-----
Country Name (2 letter code) [XX]:jp
State or Province Name (full name) :Tokyo
Locality Name (eg, city) [Default City]:Shinjuku-Ku
Organization Name (eg, company) [Default Company Ltd]:Alpha
Organizational Unit Name (eg, section) :Beta
Common Name (eg, your name or your server's hostname) :www.hogehoge-xxxxx.test.ne.jp
Email Address :hogehoge@nnnnn.ne.jp
[root@localhost certs]#
(3)作成後の確認
作成後、「localhost.crt」「localhost.key」の2ファイルが作成されていることの確認を行います。
あまり意識していなかったことですが、
秘密鍵「localhost.crt」は、privateディレクトリに移動しておくのがよいとのこと、
サーバ証明書の確認
[root@localhost certs]# openssl x509 -noout -text -in localhost.crt
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 0 (0x0)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=jp, ST=Tokyo, L=Shinjuku-Ku, O=Alpha, OU=Beta, CN=www.hogehoge-xxxxx.test.ne.jp/emailAddress=hogehoge@nnnnn.ne.jp
Validity
Not Before: Jan 10 13:20:21 2016 GMT
Not After : Jan 9 13:20:21 2017 GMT
Subject: C=jp, ST=Tokyo, L=Shinjuku-Ku, O=Alpha, OU=Beta, CN=www.hogehoge-xxxxx.test.ne.jp/emailAddress=hogehoge@nnnnn.ne.jp
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:a9:cd:73:fe:25:e5:75:71:62:0e:dd:5c:b6:21:(省略)
オレオレ証明書は、もちろん商用環境では使っていません。
内部のテスト用のサイトなどを作る範囲での作業です。
もちろんテスト用のサーバ環境だとしてもCA認証局でCSR発行し、
導入した証明書がベストなのですが、
テストレベルやフェーズによってはこれで十分かと思います。
OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細―
- 作者: John Viega,Matt Messier,Pravir Chandra,齋藤孝道
- 出版社/メーカー: オーム社
- 発売日: 2004/08
- メディア: 単行本
- 購入: 4人 クリック: 89回
- この商品を含むブログ (25件) を見る