/
githubmirror
/
xmlsec
Обзор
Документация
Войти
/
githubmirror
/
xmlsec
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
1.3.8
docs/xmlenc.html
780 строк
34 KB
lsh123
Update docs for 1.2.40 release (#815)
12 июл 2024, 01:02
Не верифицирован
12 июл 2024, 01:02
a91ece7
Код
Авторство
О чём код?
<html> <head> <meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>XML Security Library: XML Encryption</title> <link rel="stylesheet" href="css/main.css"> </head> <body><table width="100%" valign="top"><tr valign="top"> <td valign="top" align="left" width="210"> <img src="images/logo.gif" alt="XML Security Library" border="0"><p></p> <ul> <li><a href="index.html">Home</a></li> <li><a href="download.html">Download</a></li> <ul><li><a href="https://github.com/lsh123/xmlsec">GitHub</a></li></ul> <li><a href="news.html">News</a></li> <li><a href="documentation.html">Documentation</a></li> <ul> <li><a href="faq.html">FAQ</a></li> <li><a href="api/xmlsec-notes.html">Tutorial</a></li> <li><a href="api/xmlsec-reference.html">API reference</a></li> <li><a href="api/xmlsec-examples.html">Examples</a></li> </ul> <li><a href="xmldsig.html">XML Digital Signature</a></li> <li><a href="xmlenc.html">XML Encryption</a></li> <li><a href="c14n.html">XML Canonicalization</a></li> <li><a href="bugs.html">Reporting Bugs</a></li> <li><a href="mailing-list.html">Mailing list</a></li> <li><a href="related.html">Related</a></li> <li><a href="authors.html">Authors</a></li> </ul> <table width="100%"> <tr> <td width="15"></td> <td><a href="http://xmlsoft.org/"><img src="images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> </tr> <tr> <td width="15"></td> <td><a href="http://xmlsoft.org/XSLT"><img src="images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> </tr> <tr> <td width="15"></td> <td><a href="http://www.openssl.org/"><img src="images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> </tr> <!--Links - start--><!--Links - end--> </table> </td> <td valign="top"><table width="80%" valign="top" style="margin-left:10px;"><tr><td valign="top" align="left" id="xmlsecContent"> <div align="center"><h2>XML Encryption Interoperability Report</h2></div> <div style="width: 85%;" align="left"> <div> XML Security library supports the following features as defined in <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AlgID">XML Encryption Syntax and Processing Version 1.1</a> (also see <a href="https://www.ietf.org/rfc/rfc9231.html">RFC 9231</a>): </div> <div id="core"> <h3>XMLSec Library core features</h3> <table width="100%" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 40%;" valign="top"> </td> <td style="width: 20%;" valign="top"> <b><a href="https://www.w3.org/TR/xmlenc-core1/#sec-AlgID">Requirements</a></b> </td> <td valign="top"><b>Status</b></td> </tr> <tr> <td colspan="3"><b>Processing rules</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Type-Parameters">Type parameter value: Element</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Type-Parameters">Type parameter value: Content</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Type-Parameters">Type parameter value: EXI</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top">No</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Processing-Encryption">Encryption</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Processing-Decryption">Decryption</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Processing-XML">XML Encryption</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td colspan="3"><b>Syntax</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-EncryptedType">The EncryptedType Element</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-EncryptionMethod">The EncryptionMethodElement</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-CipherData">The CipherData Element</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-CipherReference">The CipherReference Element</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-EncryptedData">The EncryptedData Element</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-EncryptedKey">The EncryptedKey Element</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-DerivedKey">The DerivedKey Element</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#derived-key"><sup>(1)</sup></a> </td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-ds-RetrievalMethod">The ds:RetrievalMethod Element</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-ReferenceList">The ReferenceList Element</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-EncryptionProperties">The EncryptionProperties Element</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> </tr> <tr> <td valign="top" colspan="3"><b>Transforms</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Alg-Canonicalition">XML Canonicalization</a> </td> <td valign="top" colspan="2">See <a href="xmldsig.html">XMLDsig Report</a> </td> </tr> </tbody> </table> </div> <div id="algorithms"> <h3>XMLSec Cryptographic Libraries features</h3> <table width="100%" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 40%;" valign="top"> </td> <td style="width: 20%;" valign="top"> <b><a href="https://www.w3.org/TR/xmlenc-core1/#sec-AlgID">Requirements</a></b> </td> <td valign="top"><b>XMLSec with OpenSSL</b></td> <td valign="top"><b>XMLSec with NSS</b></td> <td valign="top"><b>XMLSec with GnuTLS</b></td> <td valign="top"><b>XMLSec with MSCng</b></td> <td valign="top"><b>XMLSec with MSCrypto</b></td> <td valign="top"><b>XMLSec with GCrypt</b></td> </tr> <tr> <td valign="top" colspan="8"> <b>Block Encryption Algorithms</b> </td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-tripledes-cbc">Triple DES (DES3)</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AES">AES-CBC-128</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AES">AES-CBC-192</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AES">AES-CBC-256</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AES-GCM">AES-GCM-128</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AES-GCM">AES-GCM-192</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-AES-GCM">AES-GCM-256</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Alg-Stream">Stream Encryption Algorithms</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top">No</td> <!-- OpenSSL--> <td valign="top">No</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top">No</td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top" colspan="8"><b>Key Derivation</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-ConcatKDF">ConcatKDF</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#openssl3-required"><sup>(2)</sup></a> <a href="#concatkdf"><sup>(3)</sup></a> </td> <!-- OpenSSL--> <td valign="top">No</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#concatkdf"><sup>(3)</sup></a> <a href="#mscng-old-win"><sup>(4)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-PBKDF2">PBKDF2</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#openssl3-required"><sup>(2)</sup></a> <a href="#pbkdf2"><sup>(5)</sup></a> </td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#pbkdf2"><sup>(5)</sup></a> </td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#pbkdf2"><sup>(5)</sup></a> </td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#mscng-old-win"><sup>(4)</sup></a> <a href="#pbkdf2"><sup>(5)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top" colspan="8"><b>Key Transport</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-1_5">RSA PKCS1 v1.5</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-OAEP">RSA-OAEP (MGF1 with SHA1)</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-OAEP">RSA-OAEP with MGF1-SHA1</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-OAEP">RSA-OAEP with MGF1-SHA224</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top">No</td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-OAEP">RSA-OAEP with MGF1-SHA256</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-OAEP">RSA-OAEP with MGF1-SHA384</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-RSA-OAEP">RSA-OAEP with MGF1-SHA512</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#rsa-oaep-same-algo"><sup>(6)</sup></a> </td> <!-- GCrypt --> </tr> <tr> <td valign="top" colspan="8"><b>Key Agreement</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-ECDH-ES">Elliptic Curve Diffie-Hellman (ECDH)</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#openssl3-required"><sup>(2)</sup></a> </td> <!-- OpenSSL--> <td valign="top">No</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#mscng-old-win"><sup>(4)</sup></a> </td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-DHKeyAgreement">Diffie-Hellman with legacy KDF</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top">No</td> <!-- OpenSSL--> <td valign="top">No</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top">No</td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-DHKeyAgreement">Diffie-Hellman with explicit KDF</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes <a href="#openssl3-required"><sup>(2)</sup></a> <a href="#openssl-dhx"><sup>(7)</sup></a> </td> <!-- OpenSSL--> <td valign="top">No</td> <!-- NSS --> <td valign="top">No</td> <!-- GnuTLS --> <td valign="top">No</td> <!-- MSCng --> <td valign="top">No</td> <!-- MSCrypto --> <td valign="top">No</td> <!-- GCrypt --> </tr> <tr> <td valign="top" colspan="8"><b>Symmetric Key Wrap</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-kw-tripledes">Triple DES Key Wrap</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-kw-aes">AES-128 KeyWrap</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-kw-aes">AES-192 KeyWrap</a> </td> <td valign="top">Optional</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-kw-aes">AES-256 KeyWrap</a> </td> <td valign="top">Required</td> <!--Requirements --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- OpenSSL--> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- NSS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GnuTLS --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCng --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- MSCrypto --> <td valign="top" bgcolor="#C1E1C1">Yes</td> <!-- GCrypt --> </tr> <tr> <td valign="top" colspan="8"><b>Message Digest</b></td> </tr> <tr> <td valign="top"> <a href="https://www.w3.org/TR/xmlenc-core1/#sec-Alg-MessageDigest">Message Digest Algorithms</a> </td> <td valign="top" colspan="7">See <a href="xmldsig.html">XMLDsig Report</a> </td> </tr> </tbody> </table> </div> <div id="notes"> <ul> <li> <a id="derived-key"><sup>(1)</sup></a> Some optional features in DerivedKey element are not supported (<a href="https://github.com/lsh123/xmlsec/issues/515">more details</a>). </li> <li> <a id="openssl3-required"><sup>(2)</sup></a> Requires OpenSSL 3.0.0 or greater. </li> <li> <a id="concatkdf"><sup>(3)</sup></a> Only byte-aligned bit strings in ConcatKDFParams element are supported (<a href="https://github.com/lsh123/xmlsec/issues/514">more details</a>). </li> <li> <a id="mscng-old-win"><sup>(4)</sup></a> The xmlsec-mscng library does not support some cryptographic algortihms on Windows 8, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP. </li> <li> <a id="pbkdf2"><sup>(5)</sup></a> Only "specified" salt is supported for PBKDF2. </li> <li> <a id="rsa-oaep-same-algo"><sup>(6)</sup></a> RSA-OAEP digest algorithm and MGF1 algorithm must be the same. </li> <li> <a id="openssl-dhx"><sup>(7)</sup></a> The xmlsec-openssl library only supports DHX (X9.42 format) keys for DH algorithm. </li> </ul> </div> <div id="test-vectores"> <h3>Test vectors</h3> <div> <ul> <li><a href="http://www.w3.org/Encryption/2002/02-xenc-interop.html">XML Encryption 1.0 interop (2002)</a></li> <li><a href="https://www.w3.org/TR/2012/NOTE-xmlenc-core1-interop-20121113/">XML Encryption 1.1 interop (2012)</a></li> </ul> </div> </div> </div> </td></tr></table></td> </tr></table></body> </html>