パソコン鳥のブログ

アクセスカウンタ

zoom RSS CentOS6 / Ubuntu14.04 でのサーバ証明書の作成方法

<<   作成日時 : 2014/08/18 21:44   >>

ブログ気持玉 0 / トラックバック 5 / コメント 0

CentOS6.5 / Ubuntu14.04 でのサーバ証明書の作成方法です。
いわゆるオレオレ証明書になります。


以下作業は root で行ってください。

必要パッケージインストール


必要なパッケージをインストールします。

CentOS6.5の場合
yum install openssl

Ubuntu14.04の場合
apt-get install openssl



サーバ用秘密鍵(server.key)の作成


下記を実行します。

openssl genrsa -aes128 2048 > server.key


実行すると、パスフレーズを要求されますので、秘密鍵を暗号化する為のパスフレーズを入力します。
パスフレーズは空には出来ませんので、4文字以上でパスフレーズを入力して下さい。
パスフレーズ入力後、もう一度確認の為、入力を求められるので、再度入力して下さい。

2048ビット長のRSA 秘密鍵を生成し、AES 128bitで暗号化して server.key を出力します。

出力された server.key がサーバ用秘密鍵です。

次に、サーバ用秘密鍵(server.key)からパスフレーズを削除します。
server.keyの作成時に入力したパスフレーズを要求されるので、入力します。
サーバ用秘密鍵(server.key)からパスフレーズを削除したものが生成されます。

openssl rsa -in server.key -out server.key


パスフレーズを削除するのは、サーバ用秘密鍵への操作で要求されるパスフレーズの入力を避ける為です。
パスフレーズを削除しておかないと、例えば、apache の設定でサーバ用秘密鍵を指定していた場合、apache起動時に server.key のパスフレーズの入力が要求され、apache が自動起動できなくなります。

但し、パスフレーズの削除は、AES 128bit でパスフレーズにより暗号化されていたサーバ用秘密鍵の暗号化の解除を意味します。
apache の起動時等でパスフレーズの入力を行っても良い場合は、上記の手順でのパスフレーズ削除は不要です。


署名要求ファイル(server.csr)の作成


署名要求ファイル(server.csr)を作成します。

openssl req -utf8 -new -key server.key -out server.csr


実行後、以下のように入力します。赤字のように入力して下さい。
「Common Name」と「A challenge password」以外の箇所は、サーバ証明書内に記述される文字列の指定です。これらは証明書のプロパティなどで表示される内容で、機能的には影響ありません。

Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:都道府県を指定します。または単に Enter だけでも構いません。 例) Tokyo
Locality Name (eg, city) [Newbury]:市区町村を指定します。または単に Enter だけでも構いません。 例) Fuchu
Organization Name (eg, company) [My Company Ltd]:組織名を指定します。または単に Enter だけでも構いません。
Organizational Unit Name (eg, section) []:部署名を指定します。または単に Enter だけでも構いません。
Common Name (eg, your name or your server's hostname) []:サーバ名のFQDN
Email Address []:メールアドレスを指定します。または単に Enter だけでも構いません。

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:Enterキー
An optional company name []:Enterキー


Common Name でサーバ名を必ずFQDNで入れて下さい。
FQDN で入力しておかないと、このサーバを将来的に Windows から利用する際に不都合が生じます。
この後の手順で生成するサーバ証明書(server.crt)は、Windowsのインターネットエクスプローラで証明書インポート出来ますが、その際に不正な証明書として扱われてしまいます。


自己署名したサーバ証明書(server.crt)の作成


自己署名したサーバ証明書(server.crt)を作成します。

openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365


このサーバ証明書の有効期限は現在時刻から、-days で指定した日数経過までとなります。

アクセス権を設定します。

chmod 400 server.*



これで証明書の作成は完了です。



使用例



作成したサーバ証明書の利用例です。
apache でSSL暗号化通信を行う https でアクセスする為の設定です。

CentOS の場合

server.crt と server.key を /etc/pki/tls/certs/ にコピー後、こちら の「apacheの設定」の箇所を参照して下さい。
参照先でも、サーバ証明書の作成方法を一部異なるコマンドで説明していますが、本記事で作成される証明書と同等です。


Ubuntu の場合
2015/1/19 手順を修正しました

Ubuntuの apache でSSL暗号化通信を行うには、事前に以下の作業が必要です。

a2enmod ssl
a2ensite default-ssl


作成した証明書を以下の箇所に置きます。

/etc/ssl/certs/server.crt
/etc/ssl/private/server.key


上記の箇所に置いた証明書を /etc/apache2/sites-available/default-ssl.conf で指定します。

SSLCertificateFile 、SSLCertificateKeyFile の行をコメントアウトした後、末尾に以下を追加します。

SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

または SSLCertificateFile 、SSLCertificateKeyFile の行を上の内容に置き換えます。


設定後、apache を再起動します。

service apache2 restart


これで https での SSL通信時に作成したサーバ証明書が利用されます。





参考


https でアクセス出来るようにするための apache の設定 パソコン鳥のブログ/ウェブリブログ

ubuntuに自己認証局の証明書を登録 | misty-magic.h



テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(5件)

タイトル (本文) ブログ名/日時
証明書をサーバに設定する前にチェックする
下記の記事で、以前サーバ証明書の作成方法を説明しました。 ...続きを見る
パソコン鳥のブログ
2014/09/27 23:18
SHA-2証明書の作成方法・サーバ証明書がSHA-2証明書になっているかの確認方法
Windows では 2017年1月1日以降、SHA1証明書サイトへのSSL通信が接続拒否されます。 ...続きを見る
パソコン鳥のブログ
2014/11/27 18:55
CentOS6/Ubuntu14.04 のapache での SSL通信(https)の為の設定
apache での SSL通信(https)の為の設定です。 これまでパソコン鳥のブログ内でも証明書の作成方法時に、apacheでの設定方法を記載していましたが、ここで CentOS6 / Ubuntu14.04 での apache での設定をまとめておきます。 ...続きを見る
パソコン鳥のブログ
2015/01/19 19:33
CentOS6/CentOS7/Ubuntu14.04 でのサーバ証明書の作成方法
サーバ証明書の作成方法です。 CentOS6/CentOS7/Ubuntu14.04、いずれでも同じ手順で作成できます。 ...続きを見る
パソコン鳥のブログ
2015/03/12 19:49
サーバ証明書がどの秘密鍵、署名要求ファイルから作られたか確認する
サーバ証明書がどのサーバ用秘密鍵、署名要求ファイルから作られたか確認する方法です。 モジュラス(鍵生成時に使用される係数)のハッシュ値を確認します。 ...続きを見る
パソコン鳥のブログ
2017/03/21 21:10

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
CentOS6 / Ubuntu14.04 でのサーバ証明書の作成方法 パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる