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
如果受支持的、已启用的密码套件或可用的凭据不使用指定的算法,则会忽略加密设置。
cChainingModes
rgstrChainingModes 数组中的条目计数。
如果 strCngAlgId 没有链接模式(例如BCRYPT_SHA384_ALGORITHM),则设置为 0。 指定多个SCH_CRED_MAX_SUPPORTED_CHAINING_MODES是错误的。
rgstrChainingModes
如果 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 |