openssl
文書の過去の版を表示しています。
OpenSSL
TLS
使用可能な暗号スイートを表示
# 全て openssl ciphers -v # TLS 1.3で使用可能な暗号スイートを表示 openssl ciphers -v TLSv1.3 # 暗号スイートを指定して表示(これはnginx 1.17のデフォルトの暗号スイート指定) openssl ciphers -v 'HIGH:!aNULL:!MD5'
署名と検証
ECDSA鍵を使って署名の作成と検証する
使用可能な楕円曲線一覧
openssl ecparam -list_curves
秘密鍵を作成(ここではP-256曲線=prime256v1を使う)
openssl ecparam -name prime256v1 -genkey -out ec.key
公開鍵をとりだす
openssl ec -pubout -in ec.key -out ec.pub
hoge.txtファイルの署名を作成(対象のファイルは一番後ろに書く)
openssl dgst -sign ec.key -sha256 -out hoge.txt.sig hoge.txt
hoge.txtの署名を検証(検証対象のファイルは一番後ろに書く)
openssl dgst -verify ec.pub -sha256 -signature hoge.txt.sig hoge.txt
Verified OKと出力されればOK
Rubyのサンプルコード
require 'openssl' key_pair = File.open('ec.key') { |f| OpenSSL::PKey::EC.new(f.read) } sig = key_pair.sign('sha256', 'hello world') pub_key = File.open('ec.pub') { |f| OpenSSL::PKey::EC.new(f.read) } puts pub_key.verify('sha256', sig, 'hello world') # => true puts pub_key.verify('sha256', sig, 'hello work') # => false、データが改竄されている
openssl.1604040606.txt.gz · 最終更新: 2020/10/30 06:50 by nullpon