3.1.4.1.2 ICertAdminD::SetAttributes (Opnum 4)

The SetAttributes method sets attributes in the specified pending certificate request.

 HRESULT SetAttributes(
   [in, string, unique] wchar_t const* pwszAuthority,
   [in] DWORD dwRequestId,
   [in, string, unique] wchar_t const* pwszAttributes
 );

pwszAuthority: See the pwszAuthority definition in ICertAdminD::SetExtension (section 3.1.4.1.1).

dwRequestId: A 32-bit nonzero unsigned integer value that specifies the ID of the certificate request.

pwszAttributes: A null-terminated Unicode string. The value of the string MUST have the same format as specified in [MS-WCCE] section 3.2.1.4.2.1.2.

This method instructs the CA to add or modify a name-value pair that is associated with a previously submitted certificate request that is in a pending state. Information about a pending certificate request is specified in section 3.1.1.1.1.

The following processing rules apply:

  1. The CA MUST look up the request based on the provided dwRequestId parameter in the Request table. If the request is not found, the CA MUST fail the request.

  2. If the request is found in the CA database, the CA MUST verify that the value of the Request_Disposition column is "request pending". If the value of the Request_Disposition column is not "request pending", the CA MUST fail the request.

  3. The CA MUST parse the pwszAttributes string, as is done for the ICertRequestD::Request and ICertRequestD2::Request2 methods as specified in [MS-WCCE] section 3.2.1.4.3.

  4. The CA MUST ignore invalid name-value pair entries.

  5. The CA MUST associate the valid name-value pair entries with the pending requests, for possible later impact on the issued certificate, by adding the entries in the Attribute table.