linuxのopensslを使って秘密鍵とサーバ証明書を作成する場面に出くわしたのでメモります。
まず適当なディレクトリ作成
# mkdir /etc/ssl
# cd /etc/ssl
サーバの秘密鍵を作成
# openssl genrsa -out server.key 1024
署名要求書の作成
# openssl req -new -key server.key -out server.csr
----------
Country Name (2 letter code) [GB]:JP // 国名
State or Province Name (full name) [Berkshire]:Osaka // 県名
Locality Name (eg, city) [Newbury]:Osaka // 市
Organization Name (eg, company) [My Company Ltd]:XX.company // 会社名、所属組織名
Organizational Unit Name (eg, section) []:develop // 会社の所属先
Common Name (eg, your name or your server's hostname) []:koexuka.blogspot.com // サーバのホスト名 この値は超重要
Email Address []:info@koexuka.blogspot.com // メアド
A challenge password []: // パスワードいらなければそのままEnter
An optional company name []: // これもEnter
通常はココで生成されたserver.csrをベリサインとかに送ってサイト証明書を発行してもらうのですが、今回はその処理も自サーバで行います。
では、自サーバが認証局となったつもりで認証局の秘密鍵を作成します。
# openssl genrsa -out ca.key 1024
認証局の証明書を作成します。
# openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
----------
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Osaka
Locality Name (eg, city) [Newbury]:Osaka
Organization Name (eg, company) [My Company Ltd]:XX.company
Organizational Unit Name (eg, section) []:develop
Common Name (eg, your name or your server's hostname) []:www.koexuka.blogspot.com
// ココが上で要求証明書を作成したときのホスト名と違う必要があります
Email Address []:info@koexuka.blogsport.com
これで認証局側の鍵(ca.key)と証明書(ca.crt)ができました。
認証局となったつもりは終わって、通常のサーバに戻ります。
シリアルを作成します。
# echo 01 > serial.txt
認証局証明書付き自サーバ証明書の作成
# openssl x509 -CA ca.crt -CAkey ca.key -CAserial serial.txt -req -days 3650 -in server.scr -out server.crtこれで自サーバ証明書(server.crt)ができました。
めでたし、めでたし!
0 件のコメント:
コメントを投稿