助け合いフォーラム

LinuC

LinuC Lv3-303(Ver2.0)
問題ID : 28147
問題を開く
X.509証明書のフィールドの説明について、正しいものはどれか。3つ選べ。

この問題はプレミアムコンテンツです。

上に戻る

signatureの解説について

投稿日 2025/11/29

解説に、「signatureはCAが証明書に署名する際に用いるアルゴリズムです。」

と記載がありますが、CA が自分の秘密鍵で実際に計算した 署名データそのものではないですか?

CAが証明書に署名する際に用いるアルゴリズムはsignatureAlgorithmではないのですか?

2025/12/02 09:45

CA が自分の秘密鍵で実際に計算した 署名データそのものではないですか?
CAが証明書に署名する際に用いるアルゴリズムはsignatureAlgorithmではないのですか?

tbsCertificate の signature は「署名データそのもの」ではありません.
署名データそのものは signatureValue フィールドに格納されています

signatureAlgorithm と signature は, いずれも証明書に署名するために用いられるアルゴリズム(の識別子)を示すフィールドです.
両者は同じアルゴリズムを含まなくてはいけません

https://tex2e.github.io/rfc-translater/html/rfc5280.html#4-1-2-3--Signature

このフィールドには、シーケンス証明書(セクション4.1.1.2)のsignatureAlgorithmフィールドと同じアルゴリズム識別子を含める必要があります。

つまり, tbsCertificate(署名対象のデータ)の内部(signature)に署名アルゴリズムが記録され,
証明書全体の signatureAlgorithm にも同じアルゴリズムが記録され,
そのアルゴリズムで CA が生成した署名が signatureValue に格納される という構造です.
#アルゴリズムが2つある点については,改ざん検出用とか構造的な理由などかもしれませんが理由や背景まではわかりません

こちらの方がもう少しわかりやすいかもしれません.
https://www.trustss.co.jp/smnDataFormat410.html#Signature


コメント

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?