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

X509KeyUsageFlags

列挙型
基底型i4

メンバー 11

名前10進16進説明
XCN_CERT_NO_KEY_USAGE00x0キーの用途は定義されていません。
XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE1280x80キーは、否認防止、証明書の署名、または失効リストの署名以外のサービスをサポートするために、デジタル署名アルゴリズム (DSA) と共に使用されます。
XCN_CERT_NON_REPUDIATION_KEY_USAGE640x40キーは、署名エンティティによる行為の不当な否認を防止する否認防止サービスの一部として、デジタル署名を検証するために使用されます。
XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE320x20キーはキー転送に使用されます。つまり、発生元から別の使用地点へ渡されるキーを管理するために使用されます。
XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE160x10キーは、暗号化キー以外のユーザーデータを暗号化するために使用されます。
XCN_CERT_KEY_AGREEMENT_KEY_USAGE80x8キーはキー合意に使用されます。キー合意プロトコルまたはキー交換プロトコルにより、2 者以上の当事者がキーを転送することなく、また事前に共有シークレットを確立することなく、キー値をネゴシエートできます。
XCN_CERT_KEY_CERT_SIGN_KEY_USAGE40x4キーは証明書の署名を検証するために使用されます。この値は、証明機関が発行した証明書に対してのみ使用できます。
XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE20x2キーは、オフラインの証明書失効リスト (CRL) の署名を検証するために使用されます。
XCN_CERT_CRL_SIGN_KEY_USAGE20x2キーは CRL の署名を検証するために使用されます。
XCN_CERT_ENCIPHER_ONLY_KEY_USAGE10x1キーは、キー合意の実行中にデータを暗号化するために使用されます。この値を指定する場合は、XCN_CERT_KEY_AGREEMENT_KEY_USAGE の値も指定する必要があります。
XCN_CERT_DECIPHER_ONLY_KEY_USAGE327680x8000キーは、キー合意の実行中にデータを復号するために使用されます。この値を指定する場合は、XCN_CERT_KEY_AGREEMENT_KEY_USAGE も指定する必要があります。

公式ドキュメント

X509KeyUsageFlags 列挙型は、証明書に含まれるキーの用途を指定します。この列挙型を使用して制限を識別できます。たとえば、キーを署名のみに使用する場合は、XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE または XCN_CERT_NON_REPUDIATION_KEY_USAGE の値を選択できます。同様に、キーをキー管理のみに使用する場合は、XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE の値を選択できます。この列挙型は、IX509ExtensionKeyUsage オブジェクトの初期化に使用できます。

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

各言語での定義

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

typedef enum X509KeyUsageFlags : int {
    XCN_CERT_NO_KEY_USAGE = 0,
    XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 128,
    XCN_CERT_NON_REPUDIATION_KEY_USAGE = 64,
    XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 32,
    XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 16,
    XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 8,
    XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 4,
    XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 2,
    XCN_CERT_CRL_SIGN_KEY_USAGE = 2,
    XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 1,
    XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 32768
} X509KeyUsageFlags;
public enum X509KeyUsageFlags : int
{
    XCN_CERT_NO_KEY_USAGE = 0,
    XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 128,
    XCN_CERT_NON_REPUDIATION_KEY_USAGE = 64,
    XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 32,
    XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 16,
    XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 8,
    XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 4,
    XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 2,
    XCN_CERT_CRL_SIGN_KEY_USAGE = 2,
    XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 1,
    XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 32768,
}
Public Enum X509KeyUsageFlags As Integer
    XCN_CERT_NO_KEY_USAGE = 0
    XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 128
    XCN_CERT_NON_REPUDIATION_KEY_USAGE = 64
    XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 32
    XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 16
    XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 8
    XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 4
    XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 2
    XCN_CERT_CRL_SIGN_KEY_USAGE = 2
    XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 1
    XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 32768
End Enum
import enum

class X509KeyUsageFlags(enum.IntEnum):
    XCN_CERT_NO_KEY_USAGE = 0
    XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 128
    XCN_CERT_NON_REPUDIATION_KEY_USAGE = 64
    XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 32
    XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 16
    XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 8
    XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 4
    XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 2
    XCN_CERT_CRL_SIGN_KEY_USAGE = 2
    XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 1
    XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 32768
// X509KeyUsageFlags
pub const XCN_CERT_NO_KEY_USAGE: i32 = 0;
pub const XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE: i32 = 128;
pub const XCN_CERT_NON_REPUDIATION_KEY_USAGE: i32 = 64;
pub const XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE: i32 = 32;
pub const XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE: i32 = 16;
pub const XCN_CERT_KEY_AGREEMENT_KEY_USAGE: i32 = 8;
pub const XCN_CERT_KEY_CERT_SIGN_KEY_USAGE: i32 = 4;
pub const XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE: i32 = 2;
pub const XCN_CERT_CRL_SIGN_KEY_USAGE: i32 = 2;
pub const XCN_CERT_ENCIPHER_ONLY_KEY_USAGE: i32 = 1;
pub const XCN_CERT_DECIPHER_ONLY_KEY_USAGE: i32 = 32768;
// X509KeyUsageFlags
const (
	XCN_CERT_NO_KEY_USAGE int32 = 0
	XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE int32 = 128
	XCN_CERT_NON_REPUDIATION_KEY_USAGE int32 = 64
	XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE int32 = 32
	XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE int32 = 16
	XCN_CERT_KEY_AGREEMENT_KEY_USAGE int32 = 8
	XCN_CERT_KEY_CERT_SIGN_KEY_USAGE int32 = 4
	XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE int32 = 2
	XCN_CERT_CRL_SIGN_KEY_USAGE int32 = 2
	XCN_CERT_ENCIPHER_ONLY_KEY_USAGE int32 = 1
	XCN_CERT_DECIPHER_ONLY_KEY_USAGE int32 = 32768
)
const
  XCN_CERT_NO_KEY_USAGE = 0;
  XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 128;
  XCN_CERT_NON_REPUDIATION_KEY_USAGE = 64;
  XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 32;
  XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 16;
  XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 8;
  XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 4;
  XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 2;
  XCN_CERT_CRL_SIGN_KEY_USAGE = 2;
  XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 1;
  XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 32768;
// X509KeyUsageFlags
pub const XCN_CERT_NO_KEY_USAGE: i32 = 0;
pub const XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE: i32 = 128;
pub const XCN_CERT_NON_REPUDIATION_KEY_USAGE: i32 = 64;
pub const XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE: i32 = 32;
pub const XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE: i32 = 16;
pub const XCN_CERT_KEY_AGREEMENT_KEY_USAGE: i32 = 8;
pub const XCN_CERT_KEY_CERT_SIGN_KEY_USAGE: i32 = 4;
pub const XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE: i32 = 2;
pub const XCN_CERT_CRL_SIGN_KEY_USAGE: i32 = 2;
pub const XCN_CERT_ENCIPHER_ONLY_KEY_USAGE: i32 = 1;
pub const XCN_CERT_DECIPHER_ONLY_KEY_USAGE: i32 = 32768;
const
  XCN_CERT_NO_KEY_USAGE* = 0
  XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE* = 128
  XCN_CERT_NON_REPUDIATION_KEY_USAGE* = 64
  XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE* = 32
  XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE* = 16
  XCN_CERT_KEY_AGREEMENT_KEY_USAGE* = 8
  XCN_CERT_KEY_CERT_SIGN_KEY_USAGE* = 4
  XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE* = 2
  XCN_CERT_CRL_SIGN_KEY_USAGE* = 2
  XCN_CERT_ENCIPHER_ONLY_KEY_USAGE* = 1
  XCN_CERT_DECIPHER_ONLY_KEY_USAGE* = 32768
enum X509KeyUsageFlags : int {
    XCN_CERT_NO_KEY_USAGE = 0,
    XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 128,
    XCN_CERT_NON_REPUDIATION_KEY_USAGE = 64,
    XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 32,
    XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 16,
    XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 8,
    XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 4,
    XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 2,
    XCN_CERT_CRL_SIGN_KEY_USAGE = 2,
    XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 1,
    XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 32768,
}
#define global XCN_CERT_NO_KEY_USAGE                0x0
#define global XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE 0x80
#define global XCN_CERT_NON_REPUDIATION_KEY_USAGE   0x40
#define global XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE  0x20
#define global XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE 0x10
#define global XCN_CERT_KEY_AGREEMENT_KEY_USAGE     0x8
#define global XCN_CERT_KEY_CERT_SIGN_KEY_USAGE     0x4
#define global XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE  0x2
#define global XCN_CERT_CRL_SIGN_KEY_USAGE          0x2
#define global XCN_CERT_ENCIPHER_ONLY_KEY_USAGE     0x1
#define global XCN_CERT_DECIPHER_ONLY_KEY_USAGE     0x8000