このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ピア キーが見つかりません
共有秘密の導出に使用されるコンテキストが、NULL ピア キーに関連付けられているか、ピア キーにまったく関連付けられていない
説明
この欠陥は、共有秘密の導出にコンテキスト オブジェクトを使用したが、そのオブジェクトを前もって非 NULL ピア キーに関連付けていなかった場合に発生します。
たとえば、コンテキスト オブジェクトを初期化してから、そのオブジェクトをピア キーに関連付ける中間ステップなしで、共有秘密の導出にそのオブジェクトを使用します。
EVP_PKEY_derive_init(ctx); /* Missing step for associating peer key with context */ ret = EVP_PKEY_derive(ctx, out_buf, &out_len);
対応するチェッカー [秘密鍵が見つかりません]
は、共有秘密の導出で秘密鍵をチェックします。
リスク
ピア キーがないと、共有秘密の導出ステップが発生しません。冗長な操作は多くの場合、コーディング エラーを示します。
修正方法
共有秘密の導出ステップの配置をチェックします。操作が意図されている場合、操作の前に次のステップを完了するようにします。
非 NULL ピア キーを生成する。
次に例を示します。
EVP_PKEY* peerkey = NULL; EVP_PKEY_keygen(EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL), &peerkey);
非 NULL コンテキスト オブジェクトとピア キーを関連付ける。
次に例を示します。
EVP_PKEY_derive_set_peer(ctx,peerkey);
例
結果情報
グループ: 暗号化 |
言語: C | C++ |
既定値: オフ |
コマンド ライン構文: CRYPTO_PKEY_NO_PEER |
影響度: Medium |
バージョン履歴
R2018a で導入