Name プロパティ

名前プロパティは、サブジェクトに関するデータを表す証明書と証明書要求のプロパティです。つまり、証明書の所有者、または証明書が要求された個人です。 各 name プロパティは、プロパティ名で識別されます。 これらの名前はローカライズできません。ただし、名前プロパティは通常、Certificate Services データベース列に対応しており、証明機関 MMC スナップイン、コマンド ライン ツール 'certutil -schema'、または IEnumCERTVIEWCOLUMN::GetDisplayName メソッドを使用して、ローカライズされたバージョンのデータベース列名を表示できます。

プロパティ名 (別名ではなく) には、省略可能なプレフィックスとして "Subject." を指定できます。 たとえば、サブジェクトの共通名を参照するには、"CommonName" または "Subject.CommonName" を使用できます。

各プロパティには、その名前に加えて、Certificate Services がプロパティの代替名として認識するエイリアスがいくつかあります。 オブジェクト識別子 (OID) は、szOID_* 定数と同様に、許容されるエイリアスであることに注意してください。 これらの定数は、OID を表す (Wincrypt.h の) 定義です。 たとえば、 szOID_COMMON_NAME は "2.5.4.3" として定義されます。 そのため、 szOID_* 定数は、それらが表す OID の代わりにエイリアスとして使用できます。

プロパティ名 エイリアス データ型 説明
"Subject.CommonName" "CommonName" "CN"
"2.5.4.3"
szOID_COMMON_NAME
String (最大 64 文字) ユーザー証明書の場合、そのユーザーの完全な名前。 コンピューター証明書の場合、ドメイン ネーム システム (DNS) 参照で使用される完全修飾 HostName**/ パス (HostName など)。Example.com**)。
"Subject.Country" "Country" "C"
"2.5.4.6"
szOID_COUNTRY_NAME
String (最大 2 文字) 件名の国または地域。 これは X.500 の 2 文字の国/地域コードです (たとえば、米国の場合は US、カナダの場合は CA)。
これらの 2 文字コードの多くは、ISO 3166 標準で定義されています。 さらに、現在のロケールのコードは、Windows 関数 GetLocaleInfo の呼び出し (LOCALE_SISO3166CTRYNAMEの LCType を指定することで) 使用できます。
"Subject.DeviceSerialNumber" "DeviceSerialNumber" "2.5.4.5"
szOID_DEVICE_SERIAL_NUMBER
String (最大 1024 文字) デバイスのシリアル番号。
"Subject.DomainComponent" "DomainComponent" "DC"
"0.9.2342.19200300.100.1.25"
szOID_DOMAIN_COMPONENT
String (最大 128 文字) ドメイン ネーム システム (DNS) 名のコンポーネント。
"Subject.EMail" "EMail" "E"
"1.2.840.113549.1.9.1"
szOID_RSA_emailAddr
String (最大 128 文字) Emailアドレス (例: "someone@example.com")。
"Subject.GivenName" "GivenName" "G"
"2.5.4.42"
szOID_GIVEN_NAME
String (最大 16 文字) サブジェクトの名。
"Subject.Initials" "Initials" "I"
"2.5.4.43"
szOID_INITIALS
String (最大 5 文字) 件名のイニシャル (省略可能)。
"Subject.Locality" "Locality" "L"
"2.5.4.7"
szOID_LOCALITY_NAME
String (最大 128 文字) サブジェクトの市区町村の名前。
"Subject.Organization" "Organization" "Org"
"O"
"2.5.4.10"
szOID_ORGANIZATION_NAME
String (最大 64 文字) サブジェクトのorganizationの法的名。
"Subject.OrgUnit" "OrgUnit" "OrganizationUnit"
"OrganizationalUnit"
"OU"
"2.5.4.11"
szOID_ORGANIZATIONAL_UNIT_NAME
String (最大 64 文字) サブジェクトのサブorganizationまたは部門の名前。
"Subject.State" "State" "ST"
"S"
"2.5.4.8"
szOID_STATE_OR_PROVINCE_NAME
String (最大 128 文字) サブジェクトの州または州のフル ネーム (カリフォルニアなど)。
"Subject.StreetAddress" "StreetAddress" "Street"
"2.5.4.9"
szOID_STREET_ADDRESS
String (最大 30 文字) 件名の住所または PO Box。
"Subject.SurName" "SurName" "SN"
"2.5.4.4"
szOID_SUR_NAME
String (最大 40 文字) サブジェクトの姓。
"Subject.Title" "Title" "T"
"2.5.4.12"
szOID_TITLE
String (最大 64 文字) 証明書を要求した個人のタイトル (省略可能)。
"Subject.UnstructuredAddress" "UnstructuredAddress" "1.2.840.113549.1.9.8"
szOID_RSA_unstructAddr
String (最大 1024 文字) 非構造化アドレス。
"Subject.UnstructuredName" "UnstructuredName" "1.2.840.113549.1.9.2"
szOID_RSA_unstructName
String (最大 1024 文字) 非構造化名。

 

次のプロパティはサブジェクトに関連していますが、名前プロパティではありません。 ポリシー モジュールは、これらのプロパティを直接設定できません。

プロパティ データ型 説明
"Request.DistinguishedName" String (最大 8192 文字) 要求の 相対識別名 。要求内のサブジェクトのテキスト表現。 この表現は、"CN=MyName, OU=MyOrgUnit, C=US" などの名前プロパティで構成されます。 Certificate Services アプリケーションは、RawRequest の Subject を使用して CertNameToStr を呼び出すことによって、ポリシー モジュールを呼び出す前にこのプロパティを設定します。
"Request.RawName" バイナリ (最大 4096 バイト) 抽象構文表記 1 (ASN.1) 要求から抽出されたバイナリサブジェクト BLOB 。 Certificate Services アプリケーションは、ポリシー モジュールを呼び出す前にこのプロパティを設定します。その値は RawRequest の Subject によって決定されます。
"DistinguishedName" String (最大 8192 文字) 証明書の相対識別名。証明書内のサブジェクトのテキスト表現。 この表現は、"CN=MyName, OU=MyOrgUnit, C=US" などの名前プロパティで構成されます。 Certificate Services アプリケーションは、RawName を使用して CertNameToStr を呼び出すことによって、ポリシー モジュールを呼び出した後にこのプロパティを設定します。
"RawName" バイナリ (最大 4096 バイト) 証明書の構築に使用される ASN.1 バイナリサブジェクト BLOB 。 Certificate Services アプリケーションは、ポリシー モジュールを呼び出した後にこのプロパティを設定します。その値は、SubjectTemplate の指示に従って、特定の名前プロパティ (Subject.CommonName など) の値によって決まります。

 

DistinguishedName プロパティに表示される 相対識別名 コンポーネントと、表示される順序は、次のレジストリ キーに含まれる "SubjectTemplate" レジストリ値によって制御されます。

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            CertSvc
               Configuration
                  CaName

Certificate Services は 属性 名を解析するときに、スペース、ハイフン (マイナス記号)、および大文字と小文字を無視します。 たとえば、"AttributeName1"、"Attribute Name1"、"Attribute-name1" はすべて同等です。 属性値の場合、Certificate Services は先頭と末尾の空白を無視します。

DistinguishedName、RawName、Subject.Country を除く上記のすべてのプロパティは、改行文字を使用して複数値の構文をサポートしています。 改行区切り記号を無効にしたり、変更したりすることはできません。

証明書のプロパティ

ICertServerExit::GetCertificateProperty

ICertServerExit::GetRequestProperty

ICertServerPolicy::GetCertificateProperty

ICertServerPolicy::GetRequestProperty

ICertServerPolicy::SetCertificateProperty