0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

opensslを素で使う

Last updated at Posted at 2020-12-26

はじめに

色々とスクリプトがあるけど、あえて使わないでいろいろやってみる。

RSA鍵作成

openssl genrsa -out <出力ファイル名> 2048

2048はビット長。4096とかでもできる。
これだとパスフレーズはつかないので注意。
CA局用などでパスフレーズをつけるときは -aes256を追加する。

CSR作成

openssl req -new -key <鍵ファイル名> -out <出力ファイル名> -sha256

-sha256はデフォルトになっているので、なくてもいいはずだけど一応
これでCNとか色々入力する。
サーバ証明書に使う場合はCNをホスト名にする必要がある。

普通に使う証明書を発行するときは、ここで作ったCSRをアップロードして署名してもらったりする。

署名

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 <出力ファイル名>

実行するとパスワードを2回入力して設定することになる。
クライアント証明書とかはこれにしておくとよい。(Windowsで使うときは拡張子pfxにする)

CA局証明書

いわゆるオレオレ証明局。
CSR作る時に署名まで済ませるような形になる。

openssl req -new -x509 -days 3650 -key <鍵ファイル名> -sha256 -out <出力ファイル名>

ここで使った鍵と、これでできた証明書を署名の -CA, -CAkeyで指定するとオレオレ証明書が作れる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?