文章
· 十月 13 阅读大约需 2 分钟

第四十六章 创建和添加 SAML 令牌 - SubjectConfirmation 使用方法 Holder-of-key

第四十六章 创建和添加 SAML 令牌 - 使用方法 Holder-of-key

添加<Subject>元素

要将 <Subject> 元素添加到 %SAML.Assertion 实例,执行以下操作:
1. 创建 %SAML.Subject 的新实例。
2. 根据需要设置主题的属性。
3. 将断言对象的 Subject 属性设置为等于此实例。

添加 <SubjectConfirmation> 元素

要将 <SubjectConfirmation> 元素添加到的 %SAML.Assertion 实例,请使用以下某个小节中的步骤。

<SubjectConfirmation>使用方法 Holder-of-key

要使用 Holder-of-key 方法添加 <SubjectConfirmation>,请执行以下操作:

  1. 按照以编程方式检索凭证集中所述,创建 %SYS.X509Credentials 的实例。

或者使用与签署断言时使用的相同凭证集。

  1. 可以选择创建并添加包含与给定凭据集关联的证书的二进制安全令牌。

要创建令牌,调用 %SOAP.Security.BinarySecurityTokenCreateX509Token() 类方法。例如:

 set bst=##class(%SOAP.Security.BinarySecurityToken).CreateX509Token(credset)

其中 credset 是在上一步中创建的凭证集。

要将此令牌添加到 WS-Security 标头元素,请调用 Web 客户端或 Web 服务的 SecurityOut 属性的 AddSecurityElement() 方法。对于方法参数,请使用刚刚创建的令牌。

  1. 调用 SAML 断言对象的 Subject 属性的 AddX509Confirmation() 方法。
method AddX509Confirmation(credentials As %SYS.X509Credentials, 
                           referenceOption As %Integer) as %Status

对于凭证,请使用二进制安全令牌或凭证集。在前一种情况下,请勿指定referenceOption。在后一种情况下,请指定 X.509 凭证的引用选项中所述的值。

<SubjectConfirmation>元素基于 X.509 KeyInfo 元素。

<SubjectConfirmation> 使用方法 Sender-vouches

要使用 Sender-vouches 方法添加 <SubjectConfirmation> ,请执行以下操作:

  1. 设置 SAML 断言对象的 Subject 属性的 NameID 属性。
  2. 调用 SAML断言对象的 Subject 属性的 AddConfirmation() 方法。
method AddConfirmation(method As %String) as %Status

对于方法,指定 $$$SAMLSenderVouches$$$SAMLHolderOfKey$$$SAMLBearer

在这种情况下,请务必签署 SAML 断言以保护它。

讨论 (0)1
登录或注册以继续