私は、openssl sess_id -in sess.pem -noout -text
sess.pem ファイル (sess_out を使用して取得) の SSL セッション パラメータを人間が読めるテキストにデコードするために使用しています。反対の方法、つまりテキストを sess.pem のような形式に変換する方法があるかどうか知りたいです。基本的には、sess.pem ファイル内のいくつかのパラメータ (セッション ID、マスター キーなど) を変更したいのですが、適切なコマンドが見つからないようです。
答え1
SSL_SESSION を操作または作成するコマンドはありませんが、asn1parse -genconf
DER 内に任意の ASN.1 構造を作成できます。これは、ソース ファイルの定義を使用して適用でき、その後、手動でヘッダー/トレーラー行を追加してssl/ssl_asn1.c
PEM に変換できます。sess_id
base64
コードで実行する場合、APIは通常の方法で文書化されています。man -k SSL_SESSION
ほとんどのUnixまたはUnix系システムで実行してください。Windowsまたは他のインストール/パッケージ化が不適切なシステムの場合は、詳しくは、man3.1.1 を参照してください。PEM_*SSL_SESSION
との下を見てくださいSSL_SESSION_*
。
しかし、たとえ何らかの(カスタム)スタックが新しい hello に対して保存されたパラメータを検証できなかったとしても、基本的には保存されたパラメータを使用し続ける必要があるため、これは少なくとも RFC 違反である可能性はありますが、それがどのように脆弱性になるのか私にはわかりません。
答え2
以下は@dave_thompson_085 の回答: 使用することができますPEM_read_SSL_SESSION
そしてPEM_write_SSL_SESSION
OpenSSL ライブラリの機能を使用して、PEM ファイルをデコードおよび再エンコードします。SSL_SESSION_set1_master_key
マスターキーを微調整できるようになります。