webservices.h) (WS_SECURITY_ALGORITHM_SUITE 结构

定义要用于 WS-Security 的安全算法和密钥长度。 此设置与消息安全绑定和混合模式安全绑定相关。

语法

typedef struct _WS_SECURITY_ALGORITHM_SUITE {
  WS_SECURITY_ALGORITHM_ID       canonicalizationAlgorithm;
  WS_SECURITY_ALGORITHM_ID       digestAlgorithm;
  WS_SECURITY_ALGORITHM_ID       symmetricSignatureAlgorithm;
  WS_SECURITY_ALGORITHM_ID       asymmetricSignatureAlgorithm;
  WS_SECURITY_ALGORITHM_ID       encryptionAlgorithm;
  WS_SECURITY_ALGORITHM_ID       keyDerivationAlgorithm;
  WS_SECURITY_ALGORITHM_ID       symmetricKeyWrapAlgorithm;
  WS_SECURITY_ALGORITHM_ID       asymmetricKeyWrapAlgorithm;
  ULONG                          minSymmetricKeyLength;
  ULONG                          maxSymmetricKeyLength;
  ULONG                          minAsymmetricKeyLength;
  ULONG                          maxAsymmetricKeyLength;
  WS_SECURITY_ALGORITHM_PROPERTY *properties;
  ULONG                          propertyCount;
} WS_SECURITY_ALGORITHM_SUITE;

成员

canonicalizationAlgorithm

用于 XML 规范化的算法,例如独占 XML 规范化算法。 将此值设置为 WS_SECURITY_ALGORITHM_DEFAULT 将默认为 WS_SECURITY_ALGORITHM_CANONICALIZATION_EXCLUSIVE

digestAlgorithm

用于消息部分摘要的算法,例如 SHA-1、SHA-256、SHA-384 或 SHA-512。 将此值设置为 WS_SECURITY_ALGORITHM_DEFAULT 将默认为 WS_SECURITY_ALGORITHM_DIGEST_SHA1

symmetricSignatureAlgorithm

用于消息身份验证代码的算法 (也称为 MAC 或对称签名) ,例如 HMAC-SHA1、HMAC-SHA256、HMAC-SHA384 或 HMAC-SHA512。 将此值设置为 WS_SECURITY_ALGORITHM_DEFAULT 将默认为 WS_SECURITY_ALGORITHM_SYMMETRIC_SIGNATURE_HMAC_SHA1

asymmetricSignatureAlgorithm

用于非对称签名的算法。 将此值设置为 WS_SECURITY_ALGORITHM_DEFAULT 将默认为 WS_SECURITY_ALGORITHM_ASYMMETRIC_SIGNATURE_RSA_SHA1

encryptionAlgorithm

用于消息部分加密的算法。 保留供将来使用。 应设置为 WS_SECURITY_ALGORITHM_DEFAULT

keyDerivationAlgorithm

用于从其他对称密钥派生密钥的算法。 将此值设置为 WS_SECURITY_ALGORITHM_DEFAULT 将默认为 WS_SECURITY_ALGORITHM_KEY_DERIVATION_P_SHA1

symmetricKeyWrapAlgorithm

用于将对称密钥与其他对称密钥一起加密的算法。 保留供将来使用。 应设置为 WS_SECURITY_ALGORITHM_DEFAULT

asymmetricKeyWrapAlgorithm

用于使用非对称密钥加密对称密钥的算法。 将此值设置为 WS_SECURITY_ALGORITHM_DEFAULT 将默认为 WS_SECURITY_ALGORITHM_ASYMMETRIC_KEYWRAP_RSA_OAEP

minSymmetricKeyLength

对称密钥安全令牌的最小密钥长度 (位) 。 将此值设置为 0 将默认为 128 位。

maxSymmetricKeyLength

对称密钥安全令牌的最大密钥长度 (位) 。 将此值设置为 0 将默认为 512 位。

minAsymmetricKeyLength

非对称密钥安全令牌的最小密钥长度 (位) 。 将此值设置为 0 将默认为 1024 位。

maxAsymmetricKeyLength

非对称密钥安全令牌的最大密钥长度 (位) 。 将此值设置为 0 将默认为 16384 位。

properties

算法属性。 保留供将来使用。 应设置为 NULL

propertyCount

属性数组中的条目数。 保留供将来使用。 应设置为 0。

注解

使用密钥派生时,密钥长度限制适用于从中派生签名或加密派生令牌的源安全令牌。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 webservices.h