The GetRequestProperty method returns a named property from a request. Note that the request is used to hold all associated states for the request and the eventual granted certificate that is not a part of the certificate. Thus, data such as revocation times and disposition data are kept in the request data object.
[VB] VARIANT GetRequestProperty( BSTR strPropertyName, long PropertyType ); [JAVA] com.ms.Variant GetRequestProperty( java.lang.String strPropertyName, int PropertyType ); [C++] HRESULT GetRequestProperty( BSTR const strPropertyName, // in LONG PropertyType, // in VARIANT * pvarPropertyValue // out, return value );
These properties can refer to the subject name or the issuer name by prepending Subject or Issuer to the property. For example, Subject.OrgUnit would refer to the subject's organizational unit.
Note Only Subject name properties are supported in this release (do not prepend Issuer to a property name.)
|Property Name||Data Type||Description|
|DistinguishedName||String||Full X.400 DN Name|
|RawName||Binary||ASN.1 Encoded DN|
|Country||String||X.500 2-character country code (for example US for United States or CA for Canada)|
|Organization||String||Legal name of organization|
|OrgUnit||String||Name of sub-organization or department|
|CommonName||String||Fully qualified hostname/path used in DNS (Domain Name System) lookups (for example, host.company.com)|
|StreetAddress||String||Street address or PO Box|
|Locality||String||Name of city|
|State||String||Full name of state or province (for example, California)|
|Title||String||Title of individual who requested the certificate (optional)|
|GivenName||String||First name of individual|
|Initials||String||Initials of individual (optional)|
|Surname||String||Last name of individual|
|DomainComponent||String||Component of a DNS (Domain Name System) name|
All of the above properties except DistinguishedName, RawName, and Country support multi-valued syntax using an ANSI punctuation character as the separator, which by default must be a comma. The separator character is specified by the HKEY_LOCAL_MACHINE\SYSTEM\\CurrentControlSet\Services\CertSVC\Configuration\<CA Name>\SubjectNameSeparator (REG_SZ) entry in the system registry. This entry is set to a single character string containing a comma, by default. The first character of this string must be an ANSI punctation character to enable the multi-valued syntax. If some other character appears first, or if the registry entry is empty or missing, then multi-valued syntax is disabled.
Note The RawName property does not exist in KeyGen requests, but can be read by ICertServerExit::GetRequestProperty after the policy module has finished processing the request.Request Properties
The following properties are unique to requests and can be accessed by ICertServerPolicy::GetRequestProperty.
|Property Name||Data Type||Description|
|RequestID||Signed long||Internal requestID|
|RawRequest||Binary||Raw request bytes|
|RequestAttributes||String||Attribute string (may be truncated)|
|RequestType||Signed long||Indicates PKCS10 or KeyGen request|
|Status||Signed long||Current server status|
|SubmittedWhen||Date / Time||When arrived|
|RequesterName||String||Login name of requester|
The RequestType property can be set to one of the following values.
|Format Value Flags||Description|
|CR_IN_PKCS10||PKCS 10 request|
Note There are additional request properties that cannot be accessed by ICertServerPolicy::GetRequestProperty. These properties are not set until after the policy module finishes processing the request. See ICertServerExit::GetRequestProperty for a complete list of all the request properties.Netscape Request Properties
The following properties are unique to Netscape <KEYGEN> style requests.
|Challenge||String||Challenge returned by Navigator|
|ExpectedChallenge||String||Challenge issued by server|
In addition, other properties may be set by a specific request type, request extensions, or by named attributes set in the header of a request.[VB][JAVA][C++] PropertyType
Specifies the property type. The type can be one of the following types.
|Type Specifier||Data Type|
|PROPTYPE_LONG||Signed long data|
|PROPTYPE_DATE||Date / Time|
Returns the requested property value.