openssl sess.pem ファイルをデコード/エンコードする

openssl sess.pem ファイルをデコード/エンコードする

私は、openssl sess_id -in sess.pem -noout -textsess.pem ファイル (sess_out を使用して取得) の SSL セッション パラメータを人間が読めるテキストにデコードするために使用しています。反対の方法、つまりテキストを sess.pem のような形式に変換する方法があるかどうか知りたいです。基本的には、sess.pem ファイル内のいくつかのパラメータ (セッション ID、マスター キーなど) を変更したいのですが、適切なコマンドが見つからないようです。

答え1

SSL_SESSION を操作または作成するコマンドはありませんが、asn1parse -genconfDER 内に任意の ASN.1 構造を作成できます。これは、ソース ファイルの定義を使用して適用でき、その後、手動でヘッダー/トレーラー行を追加してssl/ssl_asn1.cPEM に変換できます。sess_idbase64

コードで実行する場合、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_SESSIONOpenSSL ライブラリの機能を使用して、PEM ファイルをデコードおよび再エンコードします。SSL_SESSION_set1_master_keyマスターキーを微調整できるようになります。

関連情報