本主题解释了如何在 SOAtest 和 Virtualize 中配置并应用 XML 加密工具。出于安全目的,此工具对 XML 文档进行加密。

本章包含:

了解 XML 加密

为了在 Web 服务事务期间安全地通过 Internet 发送数据,必须制定安全标准,以确保外部各方不能查看或读取任何私有事务数据。W3C 推荐的 XML 加密标准定义了一个允许对 XML 文档中的任何数据进行加密和解密的过程。它指定要加密的数据,并提供用于加密数据的密码或密钥的信息。

XML 加密工具支持来自 OASIS 的 W3C XML 加密标准和 WS-Security 标准。XML 加密工具允许对作为 Web 服务事务发送的数据进行加密和解密。XML 加密工具还允许您对 XML 文档的各个元素或整个文档本身加密。这个特性对于在多个合作伙伴或端点之间执行的 Web 服务事务特别有用。例如,信用卡事务可以在用户名和地址可见的地方进行加密,但是用户的信用卡号是加密的。

配置 XML 加密工具

XML 加密工具允许您加密或解密数据。根据所选 Encryption ModeEncrypt 模式 Decrypt 将有所不同。

注意

在使用 XML 加密工具之前,必须下载强度无限的 Java 加密扩展。有关更多详情,请查阅 Unlimited Strength Java Cryptography Extension

工具设置

工具设置选项卡的左窗格显示以下选项:

General

从工具设置选项卡的左窗格选择 General 时,可使用以下选项:

  • Encrypt or Decrypt;选择适当的单选按钮来加密或解密数据。
  • WS-Security Mode启用 OASIS WS-Security 1.0 来加密 SOAP 消息。启用此选项和 Encrypt SOAP Body (WS-Security Mode) or Entire Document (non WS-Security mode) 选项来自动加密主体元素的内容。WS-Security 模式使用非对称加密,但不允许使用密钥存储或显式密钥值。

  • Asymmetric(non-WS-Security):允许使用对称密钥加密数据,并使用非对称密钥加密块加密密钥。还可以选择使用密钥存储或显式密钥值。

  • Symmetric (non-WS-Security):只允许使用一个秘密、共享的对称密钥来直接加密数据。

  • Key Transport (Key Encryption)指定用于加密密钥的唯一算法。

  • Digest method: 选择用于对数据加密的消息摘要算法。支持的算法有 SHA1、SHA256、SHA384 和 SHA512。只有当 Key Transport (key encryption) 选项设置为 RSA-OAEP 时,才启用此选项。
  • Key Store指定密钥加密密钥的密钥存储区。此菜单中可用的密钥存储库依赖于您在测试或响应程序套件级别添加的密钥存储库。 关于添加密匙库的更多信息,请查阅 Global Key Stores

  • Symmetric (Block Encryption)指定用于加密数据的唯一算法。

  • Automatic Key启用自动生成块加密密钥。

  • Use Key Store指定用于对称(块加密)密钥的密钥存储区。此菜单中可用的密钥存储库依赖于您在测试或响应程序套件级别添加的密钥存储库。关于添加密匙库的更多信息,请查阅 Global Key Stores

  • Explicit Key Value根据从对称(块加密)菜单中选择的算法,输入显式密钥。

WS-Security

当从工具设置选项卡左窗格中选择 WS-Security 时,可使用以下选项。前提是在 General 选项卡中选择了  EncryptWS-Security
  • Form: 选择适当的表单以指定用于加密的密钥和证书。
  • Actor: 输入一个值来指定 SOAP 参与者。
  • Add mustUnderstand="1" attribute指定接收方是否必须识别和解密消息。如果启用此选项,如果接收方不知道如何解密和反序列化消息,则将发回 SOAP 错误。
  • Add timestamp: 启用此选项可向消息添加时间戳。启用此选项后,可以使用以下选项:
    • Sign timestamp: 启用此选项以提供带时间戳的数字签名。
    • Add expiration: 选择此选项,以在 Time to Live 字段中输入过期值。

Target Elements

当从工具设置选项卡左窗格中选择 Target Elements 时,可使用以下选项。前提是在 General 选项卡中选择了 Encrypt

  • SOAP body/entire document: 选择加密整个 SOAP 主体或整个 XML 文档。
  • 单击 Add 按钮(只适用于未选中 SOAP body/entire document 的情况),指定 Xpath 并加密 XML 文档中的特定元素。单击 Add 按钮后, Element Selection 列表中将出现一行。 Element Selection 列表由以下列组成:
    • XPath Expression: 允许输入您希望加密的所需 XPath。
    • Target: 允许选择 Entire ElementContent Only
      选择 Entire Element 将加密整个 XPath。
      选择 Content Only 将只加密文本内容。

Emulation Options

从工具设置选项卡的左窗格选择 Emulation Options 时,可使用以下选项:

注意

只有在 General 选项卡中的 WS-Security Mode 选中的情况下,以下选项才可用:
  • Emulate: 选择用于自动配置模拟选项的应用程序服务器。还可以从 Version 下拉菜单选择合适版本的应用程序服务器。
    • 若要手动配置模拟选项,请从 Emulate 下拉菜单中选择 Custom 。以下选项可供您手动配置:
      • wsse URI: 选择使用的 WS-Security 规范的命名空间 URI。
      • wsu URI: 选择使用的 WS-Security 规范的工具命名空间 URI。
      • Qualify signed element ID attribute: 选择以限定带符号元素 ID 属性。
      • Qualify BinarySecurity Token attributes: 选择以使用 wsse 命名空间限定二进制安全令牌属性。
      • Prefix BinarySecurity Token attribute values: 选择以使用 wsse URI 作为二进制安全令牌属性的前缀。

Encryption Options

在工具设置选项卡的左窗格选择 Encryption Options 后,可使用以下选项:

  • Security Header Layout: 此属性指示在向安全数据头添加项时应用哪些布局规则。可使用以下选项:
    • Lax: 按照符合 WSS 的任何顺序将项目添加到安全数据头:SOAP 消息安全
    • LaxTimestampFirst: 与 Lax 相同,只是安全数据头中的第一项必须是 wsse:Timestamp
    • LaxTimestampLast: 与 Lax 相同,只是安全数据头中的最后一项必须是 wsse:Timestamp
    • Strict: 根据‘使用前声明’的一般原则,按照下面描述的编号布局规则将项添加到安全数据头中。

Decryption Options

在工具设置选项卡的左窗格选择 Decryption Options 后,可使用以下选项:

注意

只有在 General 选项卡中的 Decrypt 单选按钮选中的情况下,以下选项才可用:
  • Signature verification此设置允许您指定在解密 XML 消息时是否要执行签名验证。
  • Key Store指定用于验证签名的密钥存储区。此菜单中可用的密钥存储库依赖于您在测试或响应程序套件级别添加的密钥存储库。关于添加密匙库的更多信息,请查阅 Global Key Stores

    • Decrypt all known WSS headers: 选择此选项,解密 WSS 数据头格式。
    • Decrypt specific header formats: 选择此选项,解密特定数据头格式。

输入类型选项卡

Input Type 选项卡只有当 XML 加密工具作为独立工具(而不是链接到另一个工具)添加时才可用。在 Input Type 选项卡中有以下可用选项:

  • Text如果要将 XML 文档键入或拷贝到 UI,则使用该选项。选择合适的 MIME type,在 Text 单选按钮下的文本字段中输入 XML。
  • File如果要使用现有文件,则使用该选项。单击 Browse 按钮选择文件。
    • 如果要将该文件的路径作为当前配置文件的相对路径来保存,则选择 Persist as Relative Path 选项。启用该选项可以更容易地在多个机器之间共享工具。如果该选项未启用,则测试或响应程序套件将把该文件路径保存为绝对路径。 

使用注意事项

您可以通过右键单击主测试套件并从快捷菜单中选择 Add New> Test ,然后从打开的对话框中选择 XML Encryption 将 XML 签名工具作为工具级别上的独立工具使用。 

您可以 还可以 通过右键单击所需工具节点并从快捷菜单选择 Add Output ,然后从打开的对话框中选择 XML Encryption 将 XML 加密工具链接到工具。该工具将使用转换后的 XML。

您可以将 XML 加密工具和 XML 签名工具链接到消息传递工具,以便在消息上同时执行加密和 XML 签名。有关 XML 签名者工具的更多信息,请参见 XML 签名器

 还可以将任何工具(如编辑或浏览工具)链接到 XML Encryption Tool,方法是 通过右键单击所需的 XML Encryption Tool 节点并从快捷菜单中选择 Add Output ,然后 从打开的对话框中选择 XML Encryption

无限强度的 Java 加密扩展

重要项

若要执行使用 XML 签名验证器、XML 签名器或 XML 加密工具或如果使用密匙库执行安全操作,那么您将需要下载并安装无限强度的 Java 加密扩展。有关更多详情,请查阅 JCE Prerequisite

相关教程

以下教程演示如何使用这个工具:

  • No labels