第二十七章 添加数字签名 - 变体:使用签名的 SAML 断言
要添加在签名的 SAML 断言中使用证书的数字签名,请执行以下操作:
- 可选择包含
%soap.inc包含文件,它定义了可能需要使用的宏。 - 如果要对任何安全标头元素进行签名,请创建这些安全标头元素。例如:
set utoken=##class(%SOAP.Security.UsernameToken).Create("_SYSTEM","SYS")
- 使用
Holder-of-key方法的元素创建签名的 SAML 断言。请参阅创建和添加SAML令牌。 - 创建
元素。创建时,使用已签名的SAML断言作为CreateX509()类方法的第一个参数。例如:
set signature=##class(%XML.Security.EncryptedKey).CreateX509(signedassertion)
- 将数字签名添加到
WS-Security标头元素。为此,请调用 Web 客户端或Web服务的SecurityOut属性的AddSecurityElement()方法。对于参数,请指定上一步中创建的签名对象。例如:
do ..SecurityOut.AddSecurityElement(dsig)
- 发送
SOAP消息。
.png)