CRYPTO_SETTINGS结构(schannel.h)

指示禁用的加密设置。

语法

typedef struct _CRYPTO_SETTINGS {
  eTlsAlgorithmUsage eAlgorithmUsage;
  UNICODE_STRING     strCngAlgId;
  DWORD              cChainingModes;
  PUNICODE_STRING    rgstrChainingModes;
  DWORD              dwMinBitLength;
  DWORD              dwMaxBitLength;
} CRYPTO_SETTINGS, *PCRYPTO_SETTINGS;

成员

eAlgorithmUsage

eTlsAlgorithmUsage 枚举中指定的算法。

价值 算法
TlsParametersCngAlgUsageKeyExchange 密钥交换算法。
,例如 RSA、ECDHE、DHE
TlsParametersCngAlgUsageSignature 签名算法。
,例如 RSA、DSA、ECDSA
TlsParametersCngAlgUsageCipher 加密算法。
,例如 AES、DES、RC4
TlsParametersCngAlgUsageDigest 密码套件摘要。
,例如 SHA1、SHA256、SHA384
TlsParametersCngAlgUsageCertSig 用于对证书进行签名的签名和/或哈希。
,例如 RSA、DSA、ECDSA、SHA1、SHA256

strCngAlgId

CNG 算法标识符

如果受支持的、已启用的密码套件或可用的凭据不使用指定的算法,则会忽略加密设置。

cChainingModes

rgstrChainingModes 数组中的条目计数。

如果 strCngAlgId 没有链接模式(例如BCRYPT_SHA384_ALGORITHM),则设置为 0。 指定多个SCH_CRED_MAX_SUPPORTED_CHAINING_MODES是错误的。

rgstrChainingModes

CNG 链接模式标识符的数组。

如果 strCngAlgId 没有链接模式(例如BCRYPT_SHA384_ALGORITHM),则设置为 NULL。

dwMinBitLength

指定 CNG 算法的最小位长度。

如果为 0,则 schannel 使用系统默认值。 如果 CNG 算法表示位长度(例如BCRYPT_ECDH_P521_ALGORITHM),则设置为 0。

dwMaxBitLength

指定 CNG 算法的最大位长度。

如果为 0,则 schannel 使用系统默认值。 如果 CNG 算法表示位长度(例如BCRYPT_ECDH_P521_ALGORITHM),则设置为 0。

言论

以下常量区分不同的 RSA 填充模式,并且可以在 strCngAlgId 字段中指定。 这两种模式都可以提供,而不是 CNG 算法标识符

#define SCHANNEL_RSA_PSS_PADDING_ALGORITHM L"SCH_RSA_PSS_PAD"
#define SCHANNEL_RSA_PKCS_PADDING_ALGORITHM L"SCH_RSA_PKCS_PAD"

要求

要求 价值
最低支持的客户端 Windows 10 1809 [仅限桌面应用]
支持的最低服务器 Windows Server 1809 [仅限桌面应用]
标头 schannel.h

另请参阅

SCH_CREDENTIALS

TLS_PARAMETERS

eTlsAlgorithmUsage