目次
1.インストール
「Win32 OpenSSL v1.1.0d Light」をダウンロード
2.今回生成する鍵のアルゴリズム簡易説明
2-1.【RSASSA-PKCS1-v1_5 using SHA-256(RS256)】
RS256は非対称アルゴリズムであり、公開鍵/秘密鍵のペアを使用する。
2-2.【HMAC using SHA-256(HS256)】
- 対称アルゴリズムであり、2つの当事者間で共有される1つの(秘密)鍵のみを使用する。
- ハッシュ計算対象の文字列を秘密鍵として、暗号化時と複合化時にソルトとして使用する。
- 鍵ファイル生成などの必要はなし。
- 互いに参照できる場所に秘密鍵を持たせる必要がある。
2-3.【ECDSA using P-256 and SHA-256(ES256)】
楕円曲線暗号と呼ばれるもの。
詳しいところは答えられないため、本記事では鍵の生成方法のみとし概要は割愛する。
3.鍵生成コマンド
3-1.【RSASSA-PKCS1-v1_5 using SHA-256(RS256)】
実行コマンド
秘密鍵と公開鍵を生成する
[秘密鍵]openssl genrsa -out rs256.key 2048
[公開鍵]openssl rsa -pubout < rs256.key > rs256.pub.key
上記生成した秘密鍵をpkcs8へ変換する
openssl pkcs8 -in rs256.key -out rs256.key.pkcs8 -topk8 -nocrypt
3-2.【HMAC using SHA-256(HS256)】
鍵の生成は不要のため、説明なし
3-3.【ECDSA using P-256 and SHA-256(ES256)】
実行コマンド
鍵ペアを生成する
openssl ecparam -genkey -name prime256v1 -noout -out es256-key-pair.key
鍵ペアから公開鍵と秘密鍵を生成する
[公開鍵]openssl ec -in es256-key-pair.key -outform PEM -pubout -out es256.pub.key
[秘密鍵]openssl ec -in es256-key-pair.key -outform PEM -out es256.key
秘密鍵をpkcs8形式に変換する
openssl pkcs8 -in es256.key -out es256.key.pkcs8 -topk8 -nocrypt
以上