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_ENCRYPT () 関数と XML_DECRYPT () 関数を使用して、それぞれ XML データを暗号化および復号化できます。これらの関数は、”http://www.w3.org/TR/2001/PR-xmldsig-core-20010820/“で定義されている W3C XML暗号化標準に準拠しています。XML_ENCRYPT () と XML_DECRYPT () は、XML 暗号化仕様のサブセットをサポートしています。サブセットでは、データの暗号化はバルク暗号方式(RC4、DES3、AES128、AES192、またはAES256)を使用し、バルク暗号キーの暗号化にはRSA公開キーが使用されます。
注: ペイロード内のテキストを暗号化および復号化する場合は、ENCRYPT 関数と DECRYPT 関数を使用する必要があります。これらの関数の詳細については、 テキストの暗号化と復号化を参照してください。
XML_ENCRYPT () 関数と XML_DECRYPT () 関数は、テキストの ENCRYPT コマンドおよび DECRYPT コマンドで使用される暗号化/復号化サービスに依存しません。暗号方式は XML_ENCRYPT () 関数の引数として明示的に指定されます。このXML_DECRYPT()
関数は、指定された暗号メソッドに関する情報を<xenc:EncryptedData>
要素から取得します。次に、XML 暗号化および復号化関数の概要を示します。
- 暗号化された入力テキストと暗号化キーを含む
XML_ENCRYPT(<certKeyName>, <method> [, <flags>])**. Returns an
<xenc:EncryptedData>
要素。暗号化キー自体は RSA を使用して暗号化されます。 -
XML_DECRYPT(<certKeyName>)
。input<xenc:EncryptedData>
要素から復号化されたテキストを返します。これには、暗号方式と RSA 暗号化キーが含まれます。
注:この<xenc:EncryptedData>
要素は、W3C XML 暗号化仕様で定義されています。
次に、引数の説明を示します。
-
certKeyName: XML_ENCRYPT () 用の RSA 公開キーまたはXML_DECRYPT () 用の RSA プライベートキーを持つ X.509 証明書を選択します。証明書キーは、
add ssl certKey
コマンドによって事前に作成されている必要があります。 -
method: XML データの暗号化に使用する暗号方式を指定します。可能な値:RC4、DES3、AES128、AES192、AES256。
-
flags :
XML_ENCRYPT()
によって生成される<xenc:EncryptedData>
要素に含める次のオプションのキー情報 (<ds:KeyInfo>
) を指定するビットマスク。-
1 -certKeyName にキー名エレメントを含めます。要素は
<ds:KeyName>
です。 -
2 -証明書の RSA 公開キーを持つ KeyValue 要素を含めます。要素は
<ds:KeyValue>
です。 -
4 -証明書のシリアル番号と発行者 DN を含む X509IssuerSerial エレメントを含めます。要素は
<ds:X509IssuserSerial>
です。 -
8 -X509SubjectName エレメントを証明書のサブジェクト DN に含めます。要素は
<ds:X509SubjectName>
です。 -
16 -証明書全体に X509Certificate エレメントを含めます。要素は
<ds:X509Certificate>
です。
-
1 -certKeyName にキー名エレメントを含めます。要素は
XML_ENCRYPT () 関数と XML_DECRYPT () 関数を式で使用する
XML 暗号化機能では、SSL 証明書とキーのペアを使用して、キー暗号化用の X.509 証明書(RSA 公開キー付き)、キー復号用の RSA プライベートキーを提供します。したがって、式で XML_ENCRYPT () 関数を使用する前に、SSL 証明書とキーのペアを作成する必要があります。次のコマンドは、X.509 証明書 my-cert.pem、およびプライベートキーファイル my-key.pem を持つ SSL 証明書とキーのペア my-certkey を作成します。
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)"
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")"
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-encrypt-action は、AES-256 バルク暗号化方式と my-certkey の RSA 公開キーを使用してバルク暗号化キーを暗号化することにより、リクエスト内の XML ドキュメント全体(XPATH_WITH_MARKUP (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-decrypt-action アクションは、my-certkey 内の RSA 秘密キーを使用して暗号化されたキーを復号化し、要素で指定されたバルク暗号化方式を使用して暗号化されたコンテンツを復号化します。最後に、このアクションは、暗号化されたデータ要素を復号化されたコンテンツに置き換えます。
書き換えポリシー my-xml-encrypt-policy は、xml-encrypt を含む URL のリクエストに my-xml-encrypt-action を適用します。このアクションは、NetScalerアプライアンスで構成されたサービスからの応答全体を暗号化します。
書き換えポリシー my-xml-decrypt-policy は、<xenc:EncryptedData>
要素((XPATH (XP%//XENC: encryptedData%) は空でない文字列を返す)を含む要求に my-xml-decrypt-action を適用します。このアクションは、NetScalerアプライアンスで構成されたサービス宛のリクエスト内の暗号化されたデータを復号化します。
共有
共有
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.