XML(英文
高度なポリシー式でXML_ENCRYPT()関数とXML_DECRYPT()関数を使用して,それぞれXMLデータを暗号化および復号化できます。“,”http://www.w3.org/TR/2001/PR-xmldsig-core-20010820/中文:“中文:中文:中文:中文:中文:中文:中文:中文:中文:はXML_ENCRYPT()とXML_DECRYPT (), XML暗号化仕様のサブセットをサポートしています。サブセットでは,データの暗号化はバルク暗号方式(RC4、DES3 AES128, AES192,またはAES256)を使用し,バルク暗号キーの暗号化にはRSA公開キーが使用されます。
注:ペイロード内のテキストを暗号化および復号化する場合は,加密関数と解密関数を使用する必要があります。★★★★★★★★★★★★テキストの暗号化と復号化を参照してください。
XML_ENCRYPT()関数とXML_DECRYPT()関数は,テキストの加密コマンドおよび解密コマンドで使用される暗号化/復号化サービスに依存しません。xml_encrypt()。このXML_DECRYPT ()
関数は,指定された暗号メソッドに関する情報をEncryptedData > < xenc:
我的意思是。★★★★★★★★★★★★★★★
- 暗号化された入力テキストと暗号化キーを含む
XML_ENCRYPT (< certKeyName >、<法>,<标记>[])* *。返回一个
EncryptedData > < xenc:
要素。。 XML_DECRYPT (< certKeyName >)
。输入EncryptedData > < xenc:
。。
注:このEncryptedData > < xenc:
。
(1)、(2)、(3)。
certKeyName:XML_ENCRYPT()用のRSA公開キーまたはXML_DECRYPT()用のRSAプライベートキーを持つx証明書を選択します。証明書キーは,
添加ssl certKey
。方法:中文:XML。中文:rc4, des3, aes128, aes192, aes256。
国旗:
XML_ENCRYPT ()
によって生成されるEncryptedData > < xenc:
要素に含める次のオプションのキー情報(< ds: KeyInfo >
)。- 1-certKeyName。?
< ds: KeyName >
啊哈! - 2-。?
< ds: KeyValue >
啊哈! - 4——証明書のシリアル番号と発行者DNを含むX509IssuerSerialエレメントを含めます。?
< ds: X509IssuserSerial >
啊哈! - 8-X509SubjectName。?
< ds: X509SubjectName >
啊哈! - 16- x509证书。?
< ds: X509Certificate >
啊哈!
- 1-certKeyName。?
Xml_encrypt () xml_decrypt ()
XML暗号化機能では,SSL証明書とキーのペアを使用して,キー暗号化用のx証明書(RSA公開キー付き),キー復号用のRSAプライベートキーを提供します。したがって,式でXML_ENCRYPT()関数を使用する前に,SSL証明書とキーのペアを作成する必要があります。次のコマンドは,X。我的证书。Pem,我的钥匙。。
添加ssl certKey my-certkey -cert my-cert。Pem -key my-key。pem -passcrypt kxPeMRYnitY= . pem
次のCLIコマンドは,XMLコンテンツを暗号化および復号するための書き換えアクションとポリシーを作成します。
添加重写动作my-xml-encrypt-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")"添加重写策略my-xml- encryption -policy "HTTP.REQ.URL.CONTAINS("xml-encrypt")" my-xml- encryption -action添加重写策略my-xml- decryp- policy "HTTP.REQ.BODY(10000).XPATH(xp%boolean(//xenc:EncryptedData)%)" my-xml- decryp- action绑定重写全局my-xml- encryption -policy 30绑定重写全局my-xml- decryp- policy 30
上記の例では,書き換えアクションmy-xml-encrypt-actionは,aes - 256バルク暗号化方式とmy-certkeyのRSA公開キーを使用してバルク暗号化キーを暗号化することにより,リクエスト内のXMLドキュメント全体(XPATH_WITH_MARKUP (xp % / %)を暗号化します。このアクションは,文書を,暗号化されたデータと暗号化されたキーを含むEncryptedData > < xenc:
。31、< ds: KeyInfo >
。
★★★★★★★★EncryptedData > < xenc:
要素(XPATH_WITH_MARKUP (XP % / / XENC: encryptedData %))を復号化します。これには,次のCLIコマンドを使用してxenc XML名前空間を事前に追加する必要があります。
增加ns xmlnamespace xenc http://www.w3.org/2001/04/xmlenc#
my-xml-decrypt-actionアクションは,my-certkey内のRSA秘密キーを使用して暗号化されたキーを復号化し,要素で指定されたバルク暗号化方式を使用して暗号化されたコンテンツを復号化します。。
書き換えポリシーmy-xml-encrypt-policyは,xml-encryptを含むURLのリクエストにmy-xml-encrypt-actionを適用します。アクションは,Citrix ADCアプライアンスで構成されたサービスからの応答全体を暗号化します。
我的xml解密策略EncryptedData > < xenc:
要素(XPATH (XP % / / XENC: encryptedData %)は空でない文字列を返す)を含む要求にmy-xml-decrypt-actionを適用します。アクションは,Citrix ADCアプライアンスで構成されたサービスにバインドされた要求内の暗号化されたデータを復号化します。