opensslを素で使う
はじめに
色々とスクリプトがあるけど、あえて使わないでいろいろやってみる。
RSA鍵作成
openssl genrsa -out <出力ファイル名> 2048
openssl genrsa -out <出力ファイル名> 2048
2048はビット長。4096とかでもできる。
これだとパスフレーズはつかないので注意。
CA局用などでパスフレーズをつけるときは -aes256を追加する。
CSR作成
openssl req -new -key <鍵ファイル名> -out <出力ファイル名> -sha256
openssl req -new -key <鍵ファイル名> -out <出力ファイル名> -sha256
-sha256はデフォルトになっているので、なくてもいいはずだけど一応
これでCNとか色々入力する。
サーバ証明書に使う場合はCNをホスト名にする必要がある。
普通に使う証明書を発行するときは、ここで作ったCSRをアップロードして署名してもらったりする。
署名
openssl x509 -req -in <CSRファイル名> -out <出力ファイル名> -CA <CA証明書ファイル名> -CAkey <CA鍵ファイル名> -set_serial <シリアル番号> -days <有効期間>
openssl x509 -req -in <CSRファイル名> -out <出力ファイル名> -CA <CA証明書ファイル名> -CAkey <CA鍵ファイル名> -set_serial <シリアル番号> -days <有効期間>
CA鍵ファイルにパスフレーズが必要な場合、入力が求められる。
今は有効期間1年以内にしないとブラウザでエラーになるかもしれない。
また、この方法ではchromeでエラーになる。これはsubjectAltNameが無いため。
subjectAltNameはテキストファイルに書いて extfileで指定する。
ファイルの内容はこんな感じ
subjectAltName = DNS:<ホスト名>
ワイルドカード証明書もこれで * を指定すると作れる。
pkcs12
openssl pkcs12 -export -in <証明書ファイル名> -inkey <鍵ファイル名> -certfile <CA局証明書ファイル名> -out <出力ファイル名>
openssl pkcs12 -export -in <証明書ファイル名> -inkey <鍵ファイル名> -certfile <CA局証明書ファイル名> -out <出力ファイル名>
実行するとパスワードを2回入力して設定することになる。
クライアント証明書とかはこれにしておくとよい。(Windowsで使うときは拡張子pfxにする)
CA局証明書
いわゆるオレオレ証明局。
CSR作る時に署名まで済ませるような形になる。
openssl req -new -x509 -days 3650 -key <鍵ファイル名> -sha256 -out <出力ファイル名>
ここで使った鍵と、これでできた証明書を署名の -CA, -CAkeyで指定するとオレオレ証明書が作れる。
Author And Source
この問題について(opensslを素で使う), 我々は、より多くの情報をここで見つけました https://qiita.com/jkomatsu/items/6866993605e4e3c8cf77著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .