SecurityKeyType 枚举

定义

指定与安全令牌关联的密钥的类型。

public enum class SecurityKeyType
public enum SecurityKeyType
type SecurityKeyType = 
Public Enum SecurityKeyType
继承
SecurityKeyType

字段

AsymmetricKey 1

指定密钥是非对称密钥。

BearerKey 2

指定安全令牌不包含所有权证明密钥。

SymmetricKey 0

指定密钥是对称密钥。

注解

使用 SecurityKeyType 枚举可设置 KeyType 属性。

BearerKey 字段与 KeyType 属性一起使用。

BearerKey 需要 Wsu:Id 或使用消息凭据的传输安全

在联合方案中,通常将颁发的令牌配置为保证客户端和依赖方之间消息安全的认可支持令牌。 但是,当安全令牌服务 (STS) 颁发没有密钥的令牌 (BearerKey) 时,WCF 会将其配置为 SecurityTokenAttachmentMode.SignedEncrypted 支持令牌, (WCF 在没有密钥) 的情况下无法进行认可。 这要求在签名中引用颁发的令牌。 WCF 当前使用以下内容: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Id 作为 Wsu:Id) (引用机制。

如果颁发的令牌没有此类属性,则会在客户端上引发 MessageSecurityException 并显示文本“要签名的元素必须有 ID”。 将 SAML 1.1 令牌用作颁发的令牌时,就会发生这种情况(SAML 1.1 规范中没有定义 Wsu:Id)。

若要解决此问题,请将传输安全性与消息凭据 () AuthenticationMode.IssuedTokenOverTransport ,或者 STS 必须将 (Wsu:Id) 添加到 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Id 颁发的令牌。

请注意,如果将 Wsu:Id 添加到 SAML 1.1 令牌中,生成的 XML 将不符合 SAML 1.1 规范。 一种替代办法是将 Wsu:Id 添加到 EncryptedData 中,后者是在加密颁发的令牌时生成的。 此过程符合 SAML 1.1 规范,因为 EncryptedData 元素支持 Wsu:Id 属性。

因此,为了与规范保持一致,STS 必须对持有者令牌进行加密。

适用于