CERT_RDN_ATTR 構造体 (wincrypt.h)

CERT_RDN_ATTR構造体には、相対識別名 (RDN) の 1 つの属性が含まれています。 RDN 全体は、 CERT_RDN_ATTR 構造体の配列を含む CERT_RDN 構造体で表されます。

構文

typedef struct _CERT_RDN_ATTR {
  LPSTR               pszObjId;
  DWORD               dwValueType;
  CERT_RDN_VALUE_BLOB Value;
} CERT_RDN_ATTR, *PCERT_RDN_ATTR;

メンバー

pszObjId

この構造体で定義されている属性の型のオブジェクト識別子 (OID)。 このメンバーには、次のいずれかの OID を指定できます。

意味
szOID_AUTHORITY_REVOCATION_LIST
セキュリティ属性。
szOID_BUSINESS_CATEGORY
大文字と小文字を区別しない文字列。 説明属性。
szOID_CA_CERTIFICATE
セキュリティ属性。
szOID_CERTIFICATE_REVOCATION_LIST
セキュリティ属性。
szOID_COMMON_NAME
大文字と小文字を区別しない文字列。 ラベル付け属性。
szOID_COUNTRY_NAME
2 文字の印刷可能な文字列。 地理的属性。
szOID_CROSS_CERTIFICATE_PAIR
セキュリティ属性。
szOID_DESCRIPTION
大文字と小文字を区別しない文字列。 説明属性。
szOID_DESTINATION_INDICATOR
印刷可能な文字列。 通信アドレス指定属性。
szOID_DEVICE_SERIAL_NUMBER
印刷可能な文字列。 ラベル付け属性。
szOID_DOMAIN_COMPONENT
IA5 文字列。 "com" などの DNS 名コンポーネント。
szOID_FACSIMILE_TELEPHONE_NUMBER
通信アドレス指定属性。
szOID_GIVEN_NAME
大文字と小文字を区別しない文字列。 Name 属性。
szOID_INITIALS
大文字と小文字を区別しない文字列。 Name 属性。
szOID_INTERNATIONAL_ISDN_NUMBER
数値文字列。 通信アドレス指定属性。
szOID_LOCALITY_NAME
大文字と小文字を区別しない文字列。 地理的属性。
szOID_MEMBER
リレーショナル アプリケーション属性。
szOID_ORGANIZATION_NAME
大文字と小文字を区別しない文字列。 組織属性。
szOID_ORGANIZATIONAL_UNIT_NAME
大文字と小文字を区別しない文字列。 組織属性。
szOID_OWNER
リレーショナル アプリケーション属性。
szOID_PHYSICAL_DELIVERY_OFFICE_NAME
大文字と小文字を区別しない文字列。 住所属性を指定します。
szOID_PKCS_12_FRIENDLY_NAME_ATTR
PKCS #12 属性。
szOID_PKCS_12_LOCAL_KEY_ID
PKCS #12 属性。
szOID_POST_OFFICE_BOX
大文字と小文字を区別しない文字列。 住所属性を指定します。
szOID_POSTAL_ADDRESS
印刷可能な文字列。 住所属性を指定します。
szOID_POSTAL_CODE
大文字と小文字を区別しない文字列。 住所属性を指定します。
szOID_PREFERRED_DELIVERY_METHOD
Preference 属性。
szOID_PRESENTATION_ADDRESS
OSI アプリケーション属性。
szOID_REGISTERED_ADDRESS
通信アドレス指定属性。
szOID_ROLE_OCCUPANT
リレーショナル アプリケーション属性。
szOID_RSA_emailAddr
IA5 文字列。 Email属性。
szOID_SEARCH_GUIDE
説明属性。
szOID_SEE_ALSO
リレーショナル アプリケーション属性。
szOID_STATE_OR_PROVINCE_NAME
大文字と小文字を区別しない文字列。 地理的属性。
szOID_STREET_ADDRESS
大文字と小文字を区別しない文字列。 地理的属性。
szOID_SUPPORTED_APPLICATION_CONTEXT
OSI アプリケーション属性。
szOID_SUR_NAME
大文字と小文字を区別しない文字列。 ラベル付け属性。
szOID_TELEPHONE_NUMBER
通信アドレス指定属性。
szOID_TELETEXT_TERMINAL_IDENTIFIER
通信アドレス指定属性。
szOID_TELEX_NUMBER
通信アドレス指定属性。
szOID_TITLE
大文字と小文字を区別しない文字列。 組織属性。
szOID_USER_CERTIFICATE
セキュリティ属性。
szOID_USER_PASSWORD
セキュリティ属性。
szOID_X21_ADDRESS
数値文字列。 通信アドレス指定属性。

dwValueType

Value メンバーの解釈を示します。

このメンバーには、次のいずれかの値を指定できます。

意味
CERT_RDN_ANY_TYPE
pszObjId メンバーは、想定される型と長さを決定します。
CERT_RDN_BMP_STRING
Unicode 文字 (16 ビット) の配列。
CERT_RDN_ENCODED_BLOB
エンコードされたデータ BLOB。
CERT_RDN_GENERAL_STRING
現在は使用されていません。
CERT_RDN_GRAPHIC_STRING
現在は使用されていません。
CERT_RDN_IA5_STRING
IA5 (ASCII) 文字の任意の文字列。
CERT_RDN_INT4_STRING
INT4 要素 (32 ビット) の配列。
CERT_RDN_ISO646_STRING
128 文字セット (8 ビット)。
CERT_RDN_NUMERIC_STRING
0 ~ 9 の文字とスペース文字 (8 ビット) のみ。
CERT_RDN_OCTET_STRING
オクテット (8 ビット) の任意の文字列。
CERT_RDN_PRINTABLE_STRING
印刷可能な文字 (8 ビット) の任意の文字列。
CERT_RDN_T61_STRING
T.61 文字 (8 ビット) の任意の文字列。
CERT_RDN_TELETEX_STRING
T.61 文字 (8 ビット) の任意の文字列
CERT_RDN_UNICODE_STRING
Unicode 文字 (16 ビット) の配列。
CERT_RDN_UNIVERSAL_STRING
INT4 要素 (32 ビット) の配列。
CERT_RDN_UTF8_STRING
1、2、または 3 の 8 ビット文字のシーケンスとしてワイヤ上でエンコードされた 16 ビット Unicode 文字 UTF8 の配列。
CERT_RDN_VIDEOTEX_STRING
ビデオテキスト文字の任意の文字列。
CERT_RDN_VISIBLE_STRING
95 文字セット (8 ビット)。
 

次のフラグは、ビットごとの OR 操作を使用して dwValueType メンバーに結合できます。

意味
CERT_RDN_DISABLE_CHECK_TYPE_FLAG
エンコードの場合。 設定すると、文字は値型に対して有効かどうかを判断するためにチェックされません。
CERT_RDN_DISABLE_IE4_UTF8_FLAG
デコード用。 既定では、 CERT_RDN_T61_STRING エンコードされた値は、最初は UTF8 としてデコードされます。 UTF8 デコードが失敗した場合、値は 8 ビット文字としてデコードされます。 このフラグを設定すると、UTF8 としてデコードする最初の試行がスキップされ、値が 8 ビット文字としてデコードされます。
CERT_RDN_ENABLE_T61_UNICODE_FLAG
エンコードの場合。 設定すると、すべての Unicode 文字が <= 0xFFの場合、CERT_RDN_UNICODE_STRING値ではなくCERT_RDN_T61_STRING値が選択されます。
CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
エンコードの場合。 設定すると、文字列はCERT_RDN_UNICODE_STRING値ではなくCERT_RDN_UTF8_STRING値でエンコードされます。
CERT_RDN_FORCE_UTF8_UNICODE_FLAG
エンコードの場合。 設定すると、文字列は DirectoryString 型の値ではなく 、CERT_RDN_UTF8_STRINGCERT_RDN_PRINTABLE_STRING エンコードされます。 さらに、 CERT_RDN_ENABLE_UTF8_UNICODE_FLAG が有効になっています。

Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。

CERT_RDN_ENABLE_PUNYCODE_FLAG
エンコードの場合。 文字列に電子メール RDN が含まれ、電子メール アドレスが Punycode でエンコードされている場合、結果の電子メール アドレスは IA5String としてエンコードされます。 ホスト名の Punycode エンコードは、ラベルごとに実行されます。

デコード用。 名前に電子メール RDN が含まれ、メール アドレスのローカル部分またはホスト名の部分に Punycode でエンコードされた IA5String が含まれている場合、RDN 文字列値は Unicode と同等の値に変換されます。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。

Value

属性値を含む CERT_RDN_VALUE_BLOBValuecbData メンバーは、pbData メンバーの長さ (バイト単位) です。 pbData 文字列内の要素の数ではありません。

たとえば、 DWORD の長さは 32 ビットまたは 4 バイトです。 pbDataDWORD 配列の場合、cbData は配列内の DWORD 要素の数の 4 倍になります。 SHORT は 16 ビットまたは 2 バイトの長さです。 pbDataSHORT 要素の配列である場合、cbData は配列の長さの 2 倍である必要があります。

ValuepbData メンバーには、8 ビットまたは 16 ビット文字の null で終わる配列、または要素の固定長配列を指定できます。 dwValueType が CERT_RDN_ENCODED_BLOB に設定されている場合、pbData はエンコードされます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header wincrypt.h

こちらもご覧ください

CERT_RDN

CRYPT_INTEGER_BLOB

CertIsRDNAttrsInCertificateName