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 にチェーン モードがない場合は 0 に設定します (例: BCRYPT_SHA384_ALGORITHM)。 SCH_CRED_MAX_SUPPORTED_CHAINING_MODESを超える値を指定するとエラーになります。

rgstrChainingModes

CNG チェーン モード識別子の配列。

strCngAlgId にチェーン モードがない場合は NULL に設定されます (例: BCRYPT_SHA384_ALGORITHM)。

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