見出し画像

企業認証SSLを発行しようとしてハマった話

とあるWEBサーバーを立てる際に企業型SSLを発行しようと試みたのですがOpenSSLも認証関係もよくわかってなくてなかなかうまくいかずハマったので備忘録的に残しておこうと思います。
(詳しい人がみたらくだらない話を投稿してますが生暖かい目でみてもらえれば幸いですw)

で改めて...
今回、企業認証SSLの発行に伴い、PEM型の秘密鍵とCSRが必要となったのでOpenSSLを用いて生成することにしました。

秘密鍵の生成
・鍵長を2048bitにする必要があったのでオプションで2048を指定
・パスフレーズは任意のものを指定(忘れちゃダメ)

openssl genrsa -des -out private.key 2048

CSRファイルの作成(SHA-256)
・CSRファイルはサーバ証明書発行の際に必ず必要となる証明書署名要求と呼ばれるもの
・SHA-256の暗号強度を指定する必要があったためオプションにて指定
・コモンネームの指定は必須

openssl req -new -sha256 -key private.key -out server.csr

CRTファイルを作成
秘密鍵、CSRを元にCRTファイルを作成
・CSRファイルに情報を付加して秘密鍵で暗号化したもの
・とりあえず10年間(3650日)有効な証明書を作成してみた
・パスフレーズを聞かれるので秘密鍵作成時に指定したものを入力する

openssl x509 -days 3650 -req -signkey private.key < server.csr > server.crt

PEM形式の秘密鍵の作成
・CRTファイル、秘密鍵の2つを連結してPEM形式の秘密鍵を作成する

cat server.crt private.key > server.includesprivatekey.pem

PEM形式の秘密鍵のパスフレーズを解除
・証明書をインポートする際にパスレーズありだと弾かれてしまうためパスフレーズを解除しました

openssl rsa -in server.includesprivatekey.pem -out PrivateKey.pem

一連の流れで作成したCSRファイルを用いてSSL証明書を発行し、パスフレーズを解除したPEM形式の秘密鍵を証明書のインポート時に指定することで無事反映することができました!

もっとスマートな方法あるよ!という話もあるかと思うのでもう少し勉強してみようと思います。






この記事が気に入ったらサポートをしてみませんか?