「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
署名 †
XML Digital Signature標準のRFC3075
特徴 †
書目に関する情報 †
XMLの文法で統一して表現できる。
署名付加方法 †
XMLに追加するので、ASN.1構文に比べて分かりやすい。
署名範囲 †
XML文書の一部に対しても署名を付けることができる。
アルゴリズム等の識別子 †
W3Cなどで定めているURIを使用する。
構文 †
- XML文書の正規化(RFC3076 の Canonicalization:C14N)を行う。
- 署名要素に対して
- 正規化方法
- ダイジェスト値と署名値の計算方法と計算値
- XML署名使用した鍵情報(KeyInfo?)要素(オプション)
を挿入する。
種別 †
Envelopeは、封筒の意味。
Detached署名 †
署名対象要素と署名要素が独立した署名形式
(署名対象別のファイルである場合や同じ
XML文書内でも要素の親子関係がないときなど)
Enveloped署名 †
署名要素が署名対象要素の子要素となる署名形式
(対象文書の中に署名が格納される)
Enveloping署名 †
署名要素が署名対象要素の親要素となる署名形式
(署名の中に対象文書が格納される)
署名・検証 †
署名 †
- 署名対象に対して、正規化変換を適用
- 署名対象のダイジェスト値を計算
- 参照要素(Reference element)の生成
- 署名対象のIDをURI属性として追加(オプション)
- XML正規化変換プロセス要素を追加(オプション)
- ダイジェスト値を計算し、DigestMethod?要素とDigestValue?要素を追加
- 署名要素(Signature element)を生成して署名対象に追加
- 署名情報要素(SignedInfo? element)を生成して署名要素に追加。
- 正規化アルゴリズム要素(CanonicalizationMethod? element)
- 署名アルゴリズム要素(SignatureMethod? element)
- (前処理の)参照要素(Reference element)と、その子要素。
- 署名を行い、署名値要素(SignatureValue? element)を生成して署名要素(Signature element)に追加。
- 署名に使用した鍵情報要素(KeyInfo? element)を生成して署名要素(Signature element)に追加(オプション)
検証 †
- 署名対象識別子URIを参照しオリジナル署名対象を取得する。
- 署名対象から、参照要素(Reference element)を抽出・削除する。
- 上記から、ダイジェスト値を計算・比較し一致を確認する。
- 署名を検証する。
- 公開鍵を取得(回部リソースか、鍵情報要素(KeyInfo? element)から取得)
- 上記から、ダイジェスト値を計算・比較し一致を確認する。
暗号化 †
仕様に暗号化に関する項目はあるが、具体的でなく実装もなさそう。
特徴 †
...
構文 †
...
種別 †
...
暗号化・復号化 †
...
暗号化 †
...
復号化 †
...
ライブラリ †
...
参考 †
Tags: :.NET開発, :セキュリティ, :暗号化, :証明書