This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
加密和解密 XML 有效负载
您可以使用高级策略表达式中的 XML_CONTACT () 和 XML_DECLUT () 函数分别对 XML 数据进行加密和解密。这些函数符合在 http://www.w3.org/TR/2001/PR-xmldsig-core-20010820/ 定义的“W3C XML 加密标准”。XML_CONTACT () 和 XML_DACT () 支持 XML 加密规范的子集。在子集中,数据加密使用批量密码方法(RC4、DES3、AES128、AES192 或 AES256),并使用 RSA 公钥加密批量密钥。
注意: 如果要对有效负载中的文本进行加密和解密,则必须使用加密和解密函数。有关这些函数的更多信息,请参阅 加密和解密文本。
XML_CONTACT () 和 XML_DECLUT () 函数不依赖于文本的加密/解密命令使用的加密/解密服务。密码方法被明确指定为 XML_CONTACT () 函数的参数。XML_DECRYPT()
函数从 <xenc:EncryptedData>
元素中获取有关指定密码方法的信息。下面是 XML 加密和解密功能的概要:
-
XML_ENCRYPT(<certKeyName>, <method> [, <flags>])**. Returns an
<xenc:EncryptedData>
元素,该元素包含加密的输入文本和加密密钥,加密密钥本身是通过使用 RSA 加密的。 -
XML_DECRYPT(<certKeyName>)
。返回来自输入<xenc:EncryptedData>
元素的解密文本,其中包括密码方法和 RSA 加密密钥。
注意: <xenc:EncryptedData>
元素在 W3C XML 加密规范中定义。
下面是参数的描述:
-
certKeyName: 选择一个 XML_CONTACT () 的具有 RSA 公钥的 X.509 证书,或者选择 XML_DACT () 的 RSA 私钥。证书密钥必须先前通过
add ssl certKey
命令创建。 -
方法: 指定用于加密 XML 数据的密码方法。可能的值:RC4、DES3、AES128、AES192、AES256。
-
标志: 一个位掩码,指定要包含在由生成的
<ds:KeyInfo>
元素中的以下可选键信息 (<xenc:EncryptedData>
)XML_ENCRYPT()
:-
1 -包含带 certKeyName 的 KeyName 元素。元素是
<ds:KeyName>
。 -
2 -包含证书中的 RSA 公钥的密钥值元素。元素是
<ds:KeyValue>
。 -
4 -包含具有证书序列号和颁发者 DN 的 X509IssuerSerial 元素。元素是
<ds:X509IssuserSerial>
。 -
8 -在证书使用者 DN 中包含 X509SubjectName 元素。元素是
<ds:X509SubjectName>
。 -
16 -在整个证书中包含 X509Certificate 元素。元素是
<ds:X509Certificate>
。
-
1 -包含带 certKeyName 的 KeyName 元素。元素是
在表达式中使用 XML_ENT () 和 XML_DECRYPT() 函数
XML 加密功能使用 SSL 证书密钥对为密钥加密提供 X.509 证书(带 RSA 公钥),并为密钥解密提供 RSA 私钥。因此,在表达式中使用 XML_CONTACT () 函数之前,必须创建 SSL 证书密钥对。以下命令创建一个 SSL 证书密钥对,即我的证书密钥,其中包含 X.509 证书和私钥文件 my-key.pem。
add ssl certKey my-certkey -cert my-cert.pem -key my-key.pem -passcrypt kxPeMRYnitY=
以下 CLI 命令创建用于加密和解密 XML 内容的重写操作和策略。
add rewrite action my-xml-encrypt-action replace "HTTP.RES.BODY(10000).XPATH_WITH_MARKUP(xp%/%)" "HTTP.RES.BODY(10000).XPATH_WITH_MARKUP(xp%/%).XML_ENCRYPT("my-certkey", AES256, 31)" -bypassSafetyCheck YES
add rewrite action my-xml-decrypt-action replace "HTTP.REQ.BODY(10000).XPATH_WITH_MARKUP(xp%//xenc:EncryptedData%)" "HTTP.REQ.BODY(10000).XPATH_WITH_MARKUP(xp%//xenc:EncryptedData%).XML_DECRYPT("my-certkey")" -bypassSafetyCheck YES
add rewrite policy my-xml-encrypt-policy "HTTP.REQ.URL.CONTAINS("xml-encrypt")" my-xml-encrypt-action
add rewrite policy my-xml-decrypt-policy "HTTP.REQ.BODY(10000).XPATH(xp%boolean(//xenc:EncryptedData)%)" my-xml-decrypt-action
bind rewrite global my-xml-encrypt-policy 30
bind rewrite global my-xml-decrypt-policy 30
<!--NeedCopy-->
在上面的示例中,重写操作 my-xml-加密操作通过使用 AES-256 批量加密方法和我的证书密钥中的 RSA 公钥加密请求中的整个 XML 文档 (XPATH_WITH_GRAD (xp%/%)) 来加密批量加密密钥。操作将文档替换为包含加密数据和加密密钥的 <xenc:EncryptedData>
元素。31 表示的标志包含所有可选 <ds:KeyInfo>
元素。
操作 my-xml-decrypt-action 解密响应中的第一个 <xenc:EncryptedData>
元素 (XPATH_WITH_MARKUP(xp%//xenc:EncryptedData%))。这需要通过使用以下 CLI 命令事先添加 xenc XML 命名空间:
add ns xmlnamespace xenc http://www.w3.org/2001/04/xmlenc#
my-xml-解密操作操作使用 my-certkey 中的 RSA 私钥解密加密密钥,然后使用元素中指定的批量加密方法解密加密内容。最后,操作将加密的数据元素替换为已解密的内容。
重写策略 my-xml-加密-策略将 my-xml-加密操作应用于包含 xml-加密的 URL 请求。该操作将加密来自 Citrix ADC 设备上配置的服务的整个响应。
用于请求包含 <xenc:EncryptedData>
元素 ((XPATH(xp%//xenc:EncryptedData%) 的重写策略 my-xml-decrypt-policy applies my-xml-decrypt-action 返回非空字符串)。操作解密为 Citrix ADC 设备上配置的服务绑定的请求中的加密数据。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.