CryptXML には、アプリケーションがエンベロープ署名、エンベロープ署名、デタッチ署名を作成して検証できる低レベルの API セットが用意されています。 CryptXML を使用して、マニフェストを含む署名オブジェクト要素に格納されているコンテンツを作成および検証できます。 公開/秘密、共有キー、または X.509 証明書または証明書チェーンを使用して、XML デジタル署名の署名と検証を行うことができます。
CryptXML を使用して外部参照 (ドキュメント コンテキスト外の外部ドキュメントまたはファイルを対象とする参照) を検証するアプリケーションは、外部 URI を解決し、ダイジェストするデータを取得する必要があります。
CryptXML でサポートされる暗号アルゴリズムの詳細については、「XML デジタル署名暗号アルゴリズムの」を参照してください。
CryptXML では、次の識別子を使用して正規化アルゴリズムがサポートされます。
| 定数 | URI 値 |
|---|---|
| wszURI_CANONICALIZATION_C14N |
"https://www.w3.org/TR/2001/REC-xml-c14n-20010315" |
| wszURI_CANONICALIZATION_C14NC |
"https://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments" |
| wszURI_CANONICALIZATION_EXSLUSIVE_C14N |
"https://www.w3.org/2001/10/xml-exc-c14n#" |
| wszURI_CANONICALIZATION_EXSLUSIVE_C14NC |
"https://www.w3.org/2001/10/xml-exc-c14n#WithComments" |
CryptXML は、エンベロープ署名変換のサポートを提供します。
| 定数 | URI 値 |
|---|---|
| wszURI_XMLNS_TRANSFORM_ENVELOPED |
"https://www.w3.org/2000/09/xmldsig#enveloped-signature" |
既定では、CryptXML は XPath または XSLT 変換をサポートしていません。 必要に応じて、アプリケーションは CryptXML の上にこれらの変換を実装できます。