Freigeben über


ICertServerExit::GetRequestProperty-Methode (certif.h)

Die GetRequestProperty-Methode gibt eine benannte Eigenschaft aus einer Anforderung zurück.

Beachten Sie, dass die Anforderung verwendet wird, um alle zugeordneten Zustände für die Anforderung und das letztendlich gewährte Zertifikat zu enthalten, das nicht Teil des Zertifikats ist. Daher werden Daten wie Widerrufszeiten und Dispositionsdaten im Anforderungsdatenobjekt gespeichert.

Syntax

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Parameter

[in] strPropertyName

Gibt die abzurufende Eigenschaft an. Es gibt einen Stammsatz von Zertifikateigenschaften, die als Namenseigenschaften bezeichnet werden, die immer gültig sind und durch Aufrufen dieser Methode abgerufen werden können. Informationen zu diesen Eigenschaften finden Sie unter Namenseigenschaften.

Andere Eigenschaften, die für Zertifikatanforderungen gültig sind, sind die Anforderungseigenschaften.

Hinweis Auf die DistinguishedName - und RawName-Eigenschaften der Anforderung kann nur von GetRequestProperty zugegriffen werden, wenn das Zertifikat mithilfe einer PKCS #10-Zertifikatanforderung oder eines anderen unterstützten Anforderungsformats angefordert wird, das codierte Antragstellernameninformationen enthält. Beachten Sie, dass KeyGen-Anforderungen keine codierten Antragstellernameninformationen enthalten.
 

Die folgenden Eigenschaften sind für Anforderungen eindeutig und können mithilfe der GetRequestProperty-Methode zugegriffen werden.

Request-Eigenschaft Bedeutung
Disposition
Lange signiert
Aktuelle Anforderungsdisposition
DispositionMessage
String
Informationsdispositionsnachricht
RawCACertificate
Binary
Zertifikat für die ausstellende Zertifizierungsstelle
RawRequest
Binary
Unformatierte Anforderungsbytes
RequestAttributes
String
Attributzeichenfolge (kann abgeschnitten werden)
RequesterName
String
Der Name des Anfordernden im Format "DomainName\UserID"
RequestID
Lange signiert
Interne Anforderungs-ID
Requesttype
Lange signiert
Gibt PKCS #10 oder KeyGen-Anforderung an.
AufgelöstWasen
Datum/Uhrzeit
Bei Auflösung
StatusCode
Lange signiert
Windows-Fehler für den letzten Vorgang
SubmittedWhen
Datum/Uhrzeit
Bei Ankunft
 

Die RequestType-Eigenschaft ist einer der folgenden Werte.

Wert Bedeutung
CR_IN_PKCS7
PKCS #7 Verlängerungs- oder Registrierungsanforderung
CR_IN_PKCS10
PKCS #10-Anforderung
CR_IN_KEYGEN
Keygen-Anforderung (Netscape-Format)
 

Darüber hinaus können andere Eigenschaften durch einen bestimmten Anforderungstyp, Anforderungserweiterungen oder durch benannte Attribute festgelegt werden, die im Header einer Anforderung festgelegt sind.

[in] PropertyType

Gibt den Eigenschaftentyp an. Der Typ kann einer der folgenden Typen sein.

Wert Bedeutung
PROPTYPE_LONG
Signierte lange Daten
PROPTYPE_DATE
Datum/Uhrzeit
PROPTYPE_BINARY
Binärdaten
PROPTYPE_STRING
Unicode-Zeichenfolgendaten

[out] pvarPropertyValue

Ein Zeiger auf den VARIANT , der den Anforderungseigenschaftentyp enthält.

Rückgabewert

C++

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück, und *pvarPropertyValue wird auf den VARIANT-Wert festgelegt, der den Anforderungseigenschaftswert enthält.

Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

VB

Der Rückgabewert ist der Anforderungseigenschaftswert.

Hinweise

Sie müssen ICertServerExit::SetContext aufrufen, bevor Sie diese Methode verwenden.

Beispiele

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetRequestProperty( bstrPropName,
                                          PROPTYPE_LONG,
                                          &varProp );
if (FAILED(hr))
{
    printf("Failed GetRequestProperty [%x]\n", hr);
    goto error;
}
else
{
    // Successfully retrieved property; use varProp as needed.
    // ...
}

// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
    SysFreeString( bstrPropName );

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certif.h (include Certsrv.h)
Bibliothek Certidl.lib
DLL Certcli.dll

Weitere Informationen

ICertServerExit

ICertServerExit::SetContext

Namenseigenschaften