第三十六章 结合加密和签名 - 使用对称密钥签名并加密
使用对称密钥签名并加密
签名然后加密(使用对称密钥时):
- 按照使用
<DerivedKeyToken>进行加密中的步骤进行操作。 - 按照使用
<DerivedKeyToken>进行签名中的步骤进行操作。
使用<DerivedKeyToken>元素
以下示例使用对称密钥进行签名和加密。它使用消息接收者的公钥创建一个 <EncryptedKey>元素,然后使用该元素生成两个 <DerivedKeyToken> 元素,一个用于签名,一个用于加密:
// create UsernameToken
set userToken=##class(%SOAP.Security.UsernameToken).Create("_SYSTEM","SYS")
//get credentials of message recipient
set x509alias = "servernopassword"
set cred = ##class(%SYS.X509Credentials).GetByAlias(x509alias)
//get EncryptedKey element
set enc=##class(%XML.Security.EncryptedKey).