Citrix ADC

Crypter et décrypter les收费工具XML

Vous pouvez利用函数XML_ENCRYPT()和XML_DECRYPT () dans表达式stratégie avancées pour chiffrer et déchiffrer,分别,les données XML。Ces functions sont符合à la norme W3C XML加密définie à l ' address "http://www.w3.org/TR/2001/PR-xmldsig-core-20010820/.«XML_ENCRYPT () et XML_DECRYPT () prennent en charge un ssu -ensemble de la spécification XML加密。Dans le sous-ensemble, le chiffement des données utilise une méthode de chiffement en bloc (RC4, DES3, AES128, AES192 ou AES256), et une clé publique RSA est utilisée pour chiffrer la clé de chiffement en bloc。

标记:我们的souhaitz chiffer和déchiffrer du texte dans收费实用程序,您的使用功能加密和解密。根据功能提供更多的信息Chiffrer et déchiffrer du texte

函数XML_ENCRYPT()和XML_DECRYPT () ne dépendent pas du service de chiffrement et de déchiffrement utilisé par Les命令ENCRYPT et DECRYPT pour le text。La méthode de chiffement est spécifiée显式的函数参数XML_ENCRYPT()。拉XML_DECRYPT ()功能获取les信息亲属à la méthode de chiffrement spécifiée à partir de l’EncryptedData > < xenc:元素。Voici的功能概要,chiffure和déchiffrement XML:

  • XML_ENCRYPT (< certKeyName >、<法>,<标记>[])* *。返回一个EncryptedData > < xenc:qui大陆le texte d 'entrée chiffré et la clé de chiffement, qui est elle-même chiffrée à l 'aide de RSA。
  • XML_DECRYPT (< certKeyName >).文字书写déchiffré de l 'EncryptedData > < xenc:élément d 'entrée, qui include la méthode de chiffure et la clé chiffrée RSA。

标记:L 'EncryptedData > < xenc:élément est défini dans la spécification W3C XML加密。

参数的语音描述:

  • CertKeyName:sélectionne un certificat X.509 avec une clé publicque RSA pour XML_ENCRYPT () ou une clé privée RSA pour XML_DECRYPT()。La clé de certificat doit avoir été créée au préalable par une添加ssl certKey对。

  • 方法:spécifie la méthode de chiffrement à utiliser pour chiffrer les données XML。取值范围:RC4, DES3, AES128, AES192, AES256。

  • 国旗:假面de bits spécifiant les信息clés教员suivantes (< ds: KeyInfo >) à include dans l 'EncryptedData > < xenc:元素genere不相上下XML_ENCRYPT ()

    • 1—Incluez un élément KeyName avec le CertKeyName。L 'element美国东部时间< ds: KeyName >
    • 2- Incluez un élément KeyValue avec la clé publicque RSA du certificat。L 'element美国东部时间< ds: KeyValue >
    • 4- Incluez un élément X509IssuerSerial avec le numéro de série du certificate et le unique de l ' émetteur。L 'element美国东部时间< ds: X509IssuserSerial >
    • 8-包含un élément X509SubjectName证书唯一名称。L 'element美国东部时间< ds: X509SubjectName >
    • 16- Incluez un élément X509Certificate avec l 'intégralité du certificat。L 'element美国东部时间< ds: X509Certificate >

利用函数XML_ENCRYPT()和XML_DECRYPT()生成表达式

La fonctionnalité de cryptage XML利用des paires de clés de certificat SSL pour fournir des certificats X.509 (avec des clés publices RSA) pour le chiffrement des clés et des clés privées RSA pour le déchiffrement des clés。Par conséquent, avant d 'utiliser la function XML_ENCRYPT () dans une表达式,vous devez créer une对de clés de certificate SSL。La commande suivante crée une pair de clés de certificat SSL, my-certkey, avec le certificat X.509, my-cert。Pem et le fichier de clé privée, my-key.pem

添加ssl certKey my-certkey -cert。pem的关键钥匙。pem -passcrypt kxPeMRYnitY =

Les命令CLI suivantes créent des actions de réécriture et des stratégies de chiffure et de déchiffrement du contenu XML。

添加重写动作my-xml- encryption -action替换“HTTP.RES.BODY(10000).XPATH_WITH_MARKUP(xp%/%)”"HTTP.RES.BODY(10000).XPATH_WITH_MARKUP(xp%/%).XML_ENCRYPT("my-certkey", AES256, 31)"添加重写动作my-xml-decrypt-action替换"HTTP.REQ.BODY(10000).XPATH_WITH_MARKUP(xp%//xenc:EncryptedData%)""HTTP.REQ.BODY(10000).XPATH_WITH_MARKUP(xp%//xenc:EncryptedData%).XML_DECRYPT("my-certkey")" add rewrite policy my-xml- encryption -policy "HTTP.REQ.URL.CONTAINS("xml-encrypt")" my-xml- encryption -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- encryption -policy 30 bind rewrite global my-xml-decrypt-policy 30 

例如ci-dessus, l 'action de réécriture my- XML - encryption -action chiffre l 'intégralité du document XML (XPATH_WITH_MARKUP (xp%/%)) Dans la demande à l 'aide de la méthode de chiffre en bloc AES-256 et de la clé publicque RSA de my-certkey pour chiffrer la clé de chiffre en bloc。行动代替文件EncryptedData > < xenc:élément contenant les données chiffrées et une clé chiffrée。Les drapeaux représentés par 31包括我们的Les< ds: KeyInfo >facultatifs元素。

L 'action my-xml-decrypt-action déchiffre le premierEncryptedData > < xenc:élément de la réponse (XPATH_WITH_MARKUP (XP%//XENC:EncryptedData%))。Cela nécessite l 'ajout préalable de l 'espace de noms XML xenc à l 'aide de la commande CLI suivante:

添加ns xmlnamespace xenc http://www.w3.org/2001/04/xmlenc#

L ' action my-xml-decrypt-action利用la clé privée RSA dans my-certkey pour déchiffrer la clé chiffrée, puis利用la méthode de chiffrement en bloc spécifiée dans L ' élément pour déchiffrer le contenu chiffré。Enfin, l ' action替换l ' élément de données chiffré par le contenu déchiffré。

La stratégie de réécriture my-xml-encrypt-policy贴花my-xml-encrypt-action要求url内容xml-encrypt。L 'action chiffre L 'intégralité de la réponse d 'un service configuré sur L 'appliance Citrix ADC。

La stratégie de réécriture my-xml-decrypt-policy applique my-xml-decrypt-action aux requêtes qui continent unEncryptedData > < xenc:élément (XPATH (XP%//XENC:EncryptedData%) renvoie une chaîne non vide)。L 'action déchiffre les données chiffrées dans les demandes liées à un service configuré sur L 'appliance Citrix ADC。

Crypter et décrypter les收费工具XML

在cet(中央东部东京)的文章