文章
· 十月 10, 2024 阅读大约需 3 分钟
第四十四章 创建和添加 SAML 令牌

第四十四章 创建和添加 SAML 令牌

本主题描述如何将SAML 令牌添加到 WS-Security 标头元素。

另请参阅 %SAML.Assertion 的类参考和相关类。

未实现完整的 SAML 支持。 IRIS 中的 SAML 支持仅指 IRIS 中的 WS-Security 支持中列出的详细信息。

概述

借助 IRIS SOAP 支持,可以将 SAML 令牌添加到 WS-Security 标头元素。

0 0
0 22

第四十三章 使用 WS-ReliableMessaging - 对 WS-ReliableMessaging 标头进行签名

WS-ReliableMessaging 标头进行签名

可以通过以下任一方式签署 WS-ReliableMessaging 标头。

使用 SecurityContextToken 对标头进行签名

如果还使用 WS-SecureConversation,则 Web 客户端的 SecurityContextToken 属性包含一个对称密钥,可以使用该密钥对 WS-ReliableMessaging 标头元素进行签名。为此,请在调用 %SOAP.RM.CreateSequence实例的 AddSTR() 方法,并将 SecurityContextToken 属性作为参数传递:

0 0
0 15
文章
· 十月 8, 2024 阅读大约需 2 分钟
第四十二章 使用 WS-ReliableMessaging

第四十二章 使用 WS-ReliableMessaging

IRIS 支持 WS-ReliableMessaging 规范的部分内容,如简介中所述。此规范提供了一种按顺序可靠地传递一系列消息的机制。本页介绍如何手动使用可靠消息传递。

Web 客户端发送一系列消息

要将一系列消息从 IRIS Web 客户端可靠地发送到支持 WS-ReliableMessagingWeb 服务,请执行以下操作:

  1. 根据需要指定 Web 客户端的安全标头元素。

如果正在使用 WS-SecureConversation,请启动安全对话。

  1. 调用 %SOAP.RM.CreateSequenceCreate() 类方法。这将返回该类的一个实例。

此方法具有以下签名:

1 0
0 19
文章
· 十月 7, 2024 阅读大约需 2 分钟
第四十一章 创建安全对话 - 使用 SecurityContextToken

第四十一章 创建安全对话 - 使用

Web 服务使用 <SecurityContextToken>, 做出响应后,客户端实例和服务实例可以访问相同的对称密钥。有关此密钥的信息包含在两个实例的 SecurityContextToken 属性中。建议的程序如下:

  1. 在客户端中,将 SecurityOut 属性设置为 null,以删除请求消息中使用的安全标头。

Web 服务中不需要这样做,因为 Web 服务会在每次调用后自动清除安全标头。

1 0
0 20

第四十章 创建安全对话 - 启用 IRIS Web 服务以支持 WS-SecureConversation

启用 IRIS Web 服务以支持 WS-SecureConversation

Web 客户端向 Web 服务发送请求安全对话的消息时,安全对话就开始了。作为响应,Web 服务发送双方都可以使用的 <SecurityContextToken>

要使 IRIS Web 服务能够使用此令牌进行响应,请重写 Web 服务的 OnStartSecureConversation() 方法。此方法具有以下签名:

1 0
0 31
文章
· 十月 4, 2024 阅读大约需 3 分钟
第三十九章 创建安全对话

第三十九章 创建安全对话

IRIS 支持安全对话,遵循 WS-SecureConversation 1.3 规范。本页介绍如何手动创建安全对话。

概述

在安全对话中,Web 客户端向 Web 服务发出初始请求并接收包含 <SecurityContextToken> 的消息。此元素包含双方都可以使用的对称密钥的信息。此信息指的是只有双方知道的共享密钥。然后双方可以在后续交换中使用对称密钥,直到令牌过期或客户端取消令牌。

双方不应该直接使用 <SecurityContextToken> 执行这些任务(不推荐),而应该从中生成一个 <SecurityContextToken>,然后使用它进行加密、签名、解密和签名验证。

共享密钥可以通过以下任一方式指定:

1 0
0 23

第三十八章 验证和解密入站消息 - 实例身份验证和 WS-Security

实例身份验证和 WS-Security

了解 IRIS 网络服务有两个独立的机制在起作用是很有用的:IRIS 服务器和网络服务代码。

  • 在管理门户中,您可以为 Web 应用程序指定允许的身份验证模式,从而控制对 %Service_WebGateway 服务的访问。(有关详细信息,请参阅时间戳和用户名令牌示例。有关更多背景信息,请参阅 Web 应用程序。)如果您选择密码选项,则 Web 应用程序可以接受 IRIS 用户名/密码对;这称为实例身份验证。
  • 除此之外,Web 服务还可以要求 IRIS 用户名/密码对。

这些机制协同工作如下:

1 0
0 23
文章
· 十月 1, 2024 阅读大约需 2 分钟
第三十七章 结合加密和签名 - 安全标头元素的顺序

第三十七章 验证和解密入站消息

本主题介绍如何验证 IRIS Web 服务或 Web 客户端收到的消息中的安全元素(并自动解密任何加密内容)。

概述

IRIS 网络服务和网络客户端可以验证入站 SOAP 消息的 WS-Security 标头元素,以及自动解密入站消息。

IRIS Web 服务和 Web 客户端还可以处理已签名的 SAML 断言令牌并验证其签名。但是,验证 SAML 断言的详细信息是您的应用程序的责任。

如果使用安全策略,所有上述活动都是自动的。

在所有场景中,IRIS 都使用其根颁发机构证书集合;请参阅设置和其他常见活动。

验证 WS-Security 标头

要验证任何入站 SOAP 消息中包含的 WS-Security 标头元素,请执行以下操作:

0 0
0 22
文章
· 九月 30, 2024 阅读大约需 2 分钟
第三十六章 结合加密和签名 - 使用对称密钥签名并加密

第三十六章 结合加密和签名 - 使用对称密钥签名并加密

使用对称密钥签名并加密

签名然后加密(使用对称密钥时):

  1. 按照使用<DerivedKeyToken> 进行加密中的步骤进行操作。
  2. 按照使用<DerivedKeyToken> 进行签名中的步骤进行操作。

使用元素

以下示例使用对称密钥进行签名和加密。它使用消息接收者的公钥创建一个 <EncryptedKey>元素,然后使用该元素生成两个 <DerivedKeyToken> 元素,一个用于签名,一个用于加密:

0 0
0 26
文章
· 九月 29, 2024 阅读大约需 3 分钟
第三十五章 结合加密和签名

第三十五章 结合加密和签名

可以在同一条消息中加密和签名。在大多数情况下,只需组合前面主题中给出的方法即可。本主题讨论了多种场景。

使用非对称密钥签名并加密

要签名然后加密(使用非对称密钥时),请执行以下操作:

  1. 按照添加数字签名中的步骤进行操作。
  2. 按照加密安全标头元素中的步骤进行操作。

或者按照加密 SOAP 主体中的步骤进行操作。

使用非对称密钥加密并签名

要仅加密 SOAP 主体,然后添加数字签名(使用非对称密钥时),请执行以下操作:

  1. 按照加密 SOAP 主体中的步骤进行操作。
  2. 按照添加数字签名中的步骤进行操作。

要加密任何安全标头元素,然后添加数字签名(使用非对称密钥时),必须使用顶级 <ReferenceList> 元素(在文档的其他地方不需要)。在这种情况下,请执行以下操作:

0 0
0 21

第三十四章 使用派生密钥令牌进行加密和签名 - 使用 进行签名

要使用 <DerivedKeyToken>进行签名,请使用以下步骤:

  1. 如果想要签署任何安全标头元素,请创建这些安全标头元素。
  2. 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。

请注意,此步骤还会创建并添加 <DerivedKeyToken> 所基于的 <EncryptedKey> 元素。

0 0
0 18

第三十三章 使用派生密钥令牌进行加密和签名 - 使用

进行加密(一)

  1. 如果加密了任何安全标头元素,请将它们添加到 WS-Security 标头元素中。为此,请调用 Web 客户端或 Web 服务的SecurityOut 属性的 AddSecurityElement() 方法。在这种情况下,需要两个参数:

a. 安全标头元素(而不是从中生成的的 %XML.Security.EncryptedData)。

b. 引用列表实例。第二个参数指定将第一个参数指定的项目放在何处。如果参数是 AB,则 IRIS 确保 AB 之后。指定此项以便收件人首先处理引用列表,然后再处理依赖于它的加密安全标头元素。

0 0
0 14

第三十二章 使用派生密钥令牌进行加密和签名 - 使用

进行加密

要使用 <DerivedKeyToken> 进行加密,请使用以下步骤:

  1. 如果要加密一个或多个安全标头元素,请创建这些安全标头元素。.
  2. 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。

请注意,此步骤还会创建并添加 <EncryptedKey> 所基于的 <EncryptedKey> 元素。

0 0
0 23

第三十一章 使用派生密钥令牌进行加密和签名 - 变体:创建隐式

变体:创建隐式 <DerivedKeyToken>

还可以创建隐式 <DerivedKeyToken>,这是引用 <DerivedKeyToken> 的快捷方法。在此方法中:

  • 消息中不包含 <DerivedKeyToken>
  • 在使用 <DerivedKeyToken> 的元素中,<SecurityTokenReference> 元素指定 Nonce 属性,该属性包含用于 <DerivedKeyToken>nonce 值。这向消息接收者表明派生密钥令牌是隐含的,并且是从引用的令牌派生的。

要创建隐式 <DerivedKeyToken>,请使用前面描述的一般过程,但有两处更改:

1 0
0 19
文章
· 九月 22, 2024 阅读大约需 3 分钟
第三十章 使用派生密钥令牌进行加密和签名

第三十章 使用派生密钥令牌进行加密和签名

IRIS 支持 WS-SecureConversation 1.4 定义的 <DerivedKeyToken> 元素。可以创建并使用<DerivedKeyToken> 元素进行加密和签名,作为前三个主题中描述的方法的替代。

通常,会同时执行加密和签名。为简单起见,本主题分别介绍这些任务。有关结合加密和签名的信息,请参阅结合加密和签名。

概述

<DerivedKeyToken> 元素旨在携带发送者和接收者可以独立使用的信息来生成相同的对称密钥。这些方可以使用该对称密钥对 SOAP 消息的指定部分进行加密、签名或同时执行这两种操作。

要生成和使用 <DerivedKeyToken>,请执行以下操作:

0 1
0 36
文章
· 九月 19, 2024 阅读大约需 2 分钟
第二十九章 添加数字签名 - 指定 KeyInfo 的规范化方法

第二十九章 添加数字签名 - 指定 <KeyInfo>的规范化方法

默认情况下,<KeyInfo> 元素使用Exclusive XML Canonicalization进行规范化, 元素包括以下内容:

<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">

要使用包容性 XML 规范化来规范化此元素,请执行以下操作:

 Set sig.SignedInfo.CanonicalizationMethod.Algorithm=$$$SOAPWSc14n

其中 sig%XML.Security.Signature 的实例。

在这种情况下, <KeyInfo> 包含以下内容:

0 0
0 24
文章
· 九月 18, 2024 阅读大约需 2 分钟
第二十八章 添加数字签名 - 指定摘要方法

第二十八章 添加数字签名 - 指定摘要方法

指定摘要方法

默认情况下,签名的摘要值是通过 SHA-1 算法计算的,安全标头中的 <Signature> 元素包含如下内容:

   <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
   <DigestValue>waSMFeYMruQn9XHx85HqunhMGIA=</DigestValue>

可以为签名指定不同的摘要方法。为此,调用 %XML.Security.Signature 实例的 SetDigestMethod() 方法。对于参数,请使用以下宏之一(包含在 %soap.inc 文件中):

  • $$$SOAPWSsha1 (the default)

-$$$SOAPWSsha256

0 0
0 32
文章
· 九月 15, 2024 阅读大约需 4 分钟
第二十六章 添加数字签名 - 示例

第二十六章 添加数字签名 - 示例

示例

此示例显示了对其响应消息进行签名的 Web 服务。

为了使此示例在自己的环境中运行,请首先执行以下操作:

  • 为服务器创建证书。
  • 将此证书加载到服务器端的 IRIS 中,创建名为 servercred 的凭证。执行此操作时,还要加载私钥文件并提供其密码(这样 Web 服务在签署其响应消息时就不必提供该密码。)

Web 服务指的是具有此确切名称的 IRIS 凭证集。

0 0
0 19
文章
· 九月 14, 2024 阅读大约需 4 分钟
第二十五章 添加数字签名

第二十五章 添加数字签名

本主题介绍如何向 IRIS Web 服务和 Web 客户端发送的 SOAP 消息添加数字签名。

通常,会同时执行加密和签名。为简单起见,本主题仅介绍签名。有关结合加密和签名的信息,请参阅主题结合加密和签名。

主题使用派生密钥令牌进行加密和签名描述了向 SOAP 消息添加数字签名的另一种方法。

数字签名概述

可以使用数字签名来检测消息是否被篡改,或者简单地验证消息的某一部分是否确实由所列实体生成。与传统的手工签名一样,数字签名是对文档的附加,只有文档的创建者才能创建,并且不容易伪造。

IRISSOAP 消息的数字签名的支持基于 WS-Security 1.1。反过来,WS-Security 遵循 XML 签名规范。根据后者的规范,要对 XML 文档进行签名:

0 0
0 30