Tech Tips

  1. プログラミング
  2. 2334 view

ECDSA の SSL 自己証明書の作成方法

Bethany DrouinによるPixabayからの画像
先日 RSA の SSL 自己証明書を作成して AWS の Application Load Balancer へ適用する方法を書きました。
同様に ECDSA を利用した SSL 自己証明書の作成方法も調べたので、こちらも備忘録として作成方法を書いておきたいと思います。

自己証明書の作成方法

以下のコマンドで秘密鍵を作成します。調べたときによく見かけた prime256v1 を使っています。
$ openssl ecparam -name prime256v1 -out server.key -genkey
$ openssl ec -in server.key -text -noout 
次に、以下のコマンドで公開鍵を作成します。後で使う ALB を東京リージョンで作成すると、現時点では「*.ap-northeast-1.elb.amazonaws.com」のドメインになるので、Common Name にはそのように設定しています。
$ openssl req -new -key server.key -out server.csr
...
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:       
Organization Name (eg, company) [Default Company Ltd]:zuqqhi2
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:*.ap-northeast-1.elb.amazonaws.com
Email Address []:
...
A challenge password []:
An optional company name []:
$ openssl req -text -noout -in server.csr
最後に、以下のコマンドで証明書を作成します。
$ openssl x509 -in server.csr -days 365 -req -signkey server.key -out server.crt
$ openssl x509 -text -noout -in server.crt
これで SSL 自己証明書の作成は完了です。

AWS ALB への作成した SSL 自己証明書の設定

基本的には冒頭で紹介した以前の記事と同じですが、現在の ACM では ECDSA の SSL 証明書はインポートできないので、ALB の HTTPS リスナー作成時に「IAM に証明書をアップロードする」を選択してインポートしてください。 また、プライベートキーを入力する際には「BEGIN PARAMETERS」から「END EC PARAMETERS」はコピーしないようにしてください。 ALB を RSA と ECDSA の両方の暗号スイートに対応させるには、証明書を 2 つ設定する必要があります。 以下のブログを参考に設定したらできました。
$ openssl s_client -connect elb-ecdsa-test-1-109828406.ap-northeast-1.elb.amazonaws.com:443 -servername elb-ecdsa-test-1-109828406.ap-northeast-1.elb.amazonaws.com -cipher ECDHE-ECDSA-AES128-GCM-SHA256 < /dev/null | grep "Cipher"
 New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES128-GCM-SHA256
     Cipher    : ECDHE-ECDSA-AES128-GCM-SHA256

$ openssl s_client -connect elb-ecdsa-test-1-109828406.ap-northeast-1.elb.amazonaws.com:443 -servername elb-ecdsa-test-1-109828406.ap-northeast-1.elb.amazonaws.com -cipher ECDHE-RSA-AES128-GCM-SHA256 < /dev/null | grep "Cipher"
 New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
     Cipher    : ECDHE-RSA-AES128-GCM-SHA256

プログラミングの最近記事

  1. PlatformIO IDE for VSCode を使用して VSCode で Ardu…

  2. ROS Docker イメージで発生した GPG error の解消方法

  3. Streamlit で訪れた国を色づけした世界地図を作成できるアプリケーションを作成してみ…

  4. M5Stack Core2 for AWS – ESP32 IoT開発キットで…

  5. D3.js v7 で点・線・テキスト・ツールチップ・ズームを設定する方法

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP