ICertGetConfig::GetConfig-Methode (certcli.h)
Die GetConfig-Methode ruft die Konfigurationszeichenfolge für einen Zertifikatdiensteserver ab.
Die Konfigurationszeichenfolge ist der Servername und der Name der Zertifizierungsstelle (CA), getrennt durch einen umgekehrten Schrägstrich (\); Beispiel: ServerName\CAName. Diese Konfigurationszeichenfolge kann verwendet werden, um eindeutig auf einen bestimmten Zertifikatdiensteserver zu verweisen. Weitere Informationen finden Sie in den Hinweisen.
Syntax
HRESULT GetConfig(
[in] LONG Flags,
[out] BSTR *pstrOut
);
Parameter
[in] Flags
Wert, der die zu verwendende Zertifizierungsstelle angibt. Dieser Parameter kann einen der folgenden Werte annehmen.
[out] pstrOut
Ein Zeiger auf einen BSTR , der die Konfiguration enthält. Wenn Sie die Verwendung der Konfiguration abgeschlossen haben, rufen Sie die SysFreeString-Funktion auf, um pbstrOut frei zu geben.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert S_OK.
Wenn die Methode fehlschlägt, ist der Rückgabewert ein HRESULT, das den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Hinweise
Der Name der Zertifizierungsstelle (CA) der Konfigurationszeichenfolge, den diese Funktion zurückgibt, ist der genaue Text, der während des Setupprozesses der Zertifikatdienste eingegeben wurde. Beachten Sie, dass dieser Text von der Form des Zertifizierungsstellennamens in Dateinamen (z. B. für die Zertifikatsperrliste) oder in Registrierungsschlüsseln abweichen kann. Dies liegt daran, dass Dateinamen und Registrierungsschlüssel eine bereinigte Version des Zertifizierungsstellennamens verwenden.
Das Bereinigen des Zertifizierungsstellennamens ist erforderlich, um Zeichen zu entfernen, die für Dateinamen, Registrierungsschlüsselnamen oder distinguished Name-Werte unzulässig oder aus speziellen Zertifikatdiensten-Gründen unzulässig sind. Beim Bereinigungsprozess wird jedes unzulässige Zeichen im allgemeinen Namen in eine fünfstellige Darstellung im Format konvertiert !xxxx, wobei das Ausrufezeichen (!) als Escapezeichen verwendet wird und xxxx vier Hexadezimalstellen darstellt, die das zu konvertierende Zeichen eindeutig identifizieren.
Beispielsweise ist das Nummernzeichen (#) in distinguished names im Active Directory-Verzeichnisdienst nicht zulässig. Wenn der während des Setups eingegebene Zertifizierungsstellenname IhrName lautet#, lautet der name der bereinigungen Zertifizierungsstelle !0023YourName.
Die folgenden Zeichen, wenn sie während des Setups für den allgemeinen Namen der Zertifizierungsstelle eingegeben werden, werden in den konvertiert .xxxx-Format während des Bereinigungsprozesses. Änderungen der Liste vorbehalten.
Zeichen | Wert im !xxxx-Format |
---|---|
< | !003c |
> | !003e |
" | !0022 |
/ | !002f |
\ | !005c |
: | !003a |
| | !007c |
? | !003f |
* | !002a |
# | !0023 |
, | !002c |
+ | !002b |
; | !003b |
! | !0021 |
Alle nicht druckbaren Zeichen und alle Unicode-Zeichen , die keine sieben Bits sind, werden ebenfalls in den konvertiert .xxxx-Format .
Ein bereinigungsbasierter Kurzname wird generiert, wenn der bereinigungsfähige Name für einen 64-stelligen verzeichnisdienstbezogenen distinguished Name (RDN) zu lang ist. Der bereinigungskurzierte Kurzname besteht aus dem bereinigungsgekürzten Namen, der abgeschnitten und mit einem Hash des vollständigen bereinigungen Namens angefügt wird. Der bereinigte Kurzname reserviert einige der 64 Zeichen, um Suffixe der Zertifikatsperrliste (Certificate Revocation List , CRL) zu enthalten, z. B. (123).
Der Teil des Zertifizierungsstellennamens der von dieser Methode zurückgegebenen Konfigurationszeichenfolge ist der ursprüngliche Text, der während des Setups eingegeben wurde. Beachten Sie, dass Zertifikatdienstemethoden, die einen Zertifizierungsstellennamen als Parameter erfordern, den ursprünglich eingegebenen Zertifizierungsstellennamen akzeptieren. Beispiel: Für den Zertifizierungsstellennamen #YourName
Die ICertView2::OpenConnection-Methode akzeptiert #YourName als Ca-Teil des Parameters.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certcli.h (certsrv.h einschließen) |
Bibliothek | Certidl.lib |
DLL | Certcli.dll |