Win32 API 日本語リファレンス
ホームSecurity.Cryptography.Certificates › X509KeySpec

X509KeySpec

列挙型
基底型i4

メンバー 3

名前10進16進説明
XCN_AT_NONE00x0用途が識別されていません。この値は、キーをサポートするプロバイダーが Cryptography API: Next Generation (CNG) のキー ストレージ プロバイダー (KSP) である場合に設定されます。
XCN_AT_KEYEXCHANGE10x1

アルゴリズムに応じて、キーを暗号化 (キー交換を含む) または署名に使用できます。RSA アルゴリズムの場合、この値が設定されていると、キーは署名と暗号化の両方に使用できます。その他のアルゴリズムでは、署名がサポートされないことがあります。さらに、キー交換のための暗号化のみがサポートされる場合もあります。

メモ 値の名前に含まれる KEYEXCHANGE の部分は CryptoAPI からの名残であり、元々はキー交換時に使用される秘密キーの対称暗号化を指していました。この用語の使用範囲は、最終的にすべての対称暗号化を対象とするまでに広がりました。
XCN_AT_SIGNATURE20x2キーは署名に使用できます。

公式ドキュメント

X509KeySpec 列挙型は、レガシーな 暗号化サービス プロバイダー (CSP) におけるキーの用途を指定します。レガシー CSP がサポートできるのは、最大で 1 つの署名アルゴリズム (XCN_AT_SIGNATURE) と 1 つの暗号化アルゴリズム (XCN_AT_KEYEXCHANGE) です。この列挙型は次のインターフェイスで使用されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum X509KeySpec : int {
    XCN_AT_NONE = 0,
    XCN_AT_KEYEXCHANGE = 1,
    XCN_AT_SIGNATURE = 2
} X509KeySpec;
public enum X509KeySpec : int
{
    XCN_AT_NONE = 0,
    XCN_AT_KEYEXCHANGE = 1,
    XCN_AT_SIGNATURE = 2,
}
Public Enum X509KeySpec As Integer
    XCN_AT_NONE = 0
    XCN_AT_KEYEXCHANGE = 1
    XCN_AT_SIGNATURE = 2
End Enum
import enum

class X509KeySpec(enum.IntEnum):
    XCN_AT_NONE = 0
    XCN_AT_KEYEXCHANGE = 1
    XCN_AT_SIGNATURE = 2
// X509KeySpec
pub const XCN_AT_NONE: i32 = 0;
pub const XCN_AT_KEYEXCHANGE: i32 = 1;
pub const XCN_AT_SIGNATURE: i32 = 2;
// X509KeySpec
const (
	XCN_AT_NONE int32 = 0
	XCN_AT_KEYEXCHANGE int32 = 1
	XCN_AT_SIGNATURE int32 = 2
)
const
  XCN_AT_NONE = 0;
  XCN_AT_KEYEXCHANGE = 1;
  XCN_AT_SIGNATURE = 2;
// X509KeySpec
pub const XCN_AT_NONE: i32 = 0;
pub const XCN_AT_KEYEXCHANGE: i32 = 1;
pub const XCN_AT_SIGNATURE: i32 = 2;
const
  XCN_AT_NONE* = 0
  XCN_AT_KEYEXCHANGE* = 1
  XCN_AT_SIGNATURE* = 2
enum X509KeySpec : int {
    XCN_AT_NONE = 0,
    XCN_AT_KEYEXCHANGE = 1,
    XCN_AT_SIGNATURE = 2,
}
#define global XCN_AT_NONE        0x0
#define global XCN_AT_KEYEXCHANGE 0x1
#define global XCN_AT_SIGNATURE   0x2