SSL CSRの発行方法 (CentOS6)

keyの作成

SSLのCSRの発行は最初にkeyを作ってその文字列からCSRを発行します。keyにはパスワードをかけることができてCSRと共通になります。最近のSSL証明書はたいてい2048で作成するので以下のようなコマンドになります。

openssl genrsa -rand rand.dat -des3 2048 > user_key.pem

パスフレーズ(パスワード)なしで設定する時は以下のコマンドになります。パスワードなしにして特にセキュリティー的に云々は殆ど関係ないです。最近のVPSクラウドとかだとメンテナンス時に再起動とか勝手にかけられるのでパスワードなしの方が無難です。Apache再起動時にパスワードが必要になるので、自動起動ができなくなります。

openssl genrsa -out user_key.pem 2048

これでCSR発行時にパスワードを訊かれなくなります。

CSRの作成

openssl req -new -key user_key.pem -out user_csr.pem
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Chiyoda-ku
Organization Name (eg, company) [Default Company Ltd]:OMNIOO Company
Organizational Unit Name (eg, section) []:(※省略可)
Common Name (eg, your name or your server's hostname) []:example.com
Email Address []:(※省略可)
A challenge password []:(※省略可)
An optional company name []:(※省略可)

こういう感じで作っておけばいいです。
作ったあとは設定値が正しいかどうかこういうようなサイトで確認しておくとよいです。(コマンドでもできるますが)
あとはcsrの文字列をSSLの会社に送って手続きをしてもらいます。

/home/user/user_ssl/user_csr.pem
/home/user/user_ssl/user_key.pem

すごい余談なんですが、chiyodaかchiyoda-kuでいろいろ考えました。どちらでもいいんでしょうけど。あとcommon nameはwwwが付いているべきなのかそうでないのか、も、どっちでもいいんですが世の中的にはどっちなんでしょう。
こちらをもってuser_csr.pemをSSLの会社に提出してSSL証明書を発行してもらいます。今々のSSLは証明書(cer)と共に中間証明書なるものも必要になってくるかと思います。クィックだったらすぐに発行されます。企業認証が必要だったりする場合は数日間審査機関があります。

SSL証明書の確認コマンド

秘密鍵の確認

openssl rsa -in key.pem -text

CSRの内容を確認

openssl req -inform der -in req.der -text
openssl req -in req.pem -text

証明書の内容を確認

openssl x509 -inform der -in cer.der -text
openssl x509 -in cer.pem -text

CRLの内容を確認

openssl crl -inform der -in crl.der -text
openssl crl -in crl.pem -text
Last update: 2017.05.31 (水)