Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Diese Methode steht ab Windows Server 2008 und Windows Vista nicht mehr zur Verfügung.]
Die createPKCS10-Methode erstellt eine Base64-codierte PKCS # 10-Zertifikatanforderung. Diese Methode wurde zuerst in der ICEnroll-Schnittstelle definiert.
Diese Base64-codierte PKCS #10-Zertifikatanforderung (in BSTR-Form ) kann an eine Zertifizierungsstelle gesendet werden, um die Ausstellung eines Zertifikats an die Person oder Entität anzufordern, deren Informationen sie enthält.
Syntax
HRESULT createPKCS10(
[in] BSTR DNName,
[in] BSTR Usage,
[in] BSTR *pPKCS10
);
Parameter
[in] DNName
Der distinguished Name (DN) der Entität, für die die Anforderung gestellt wird. In diesem Parameter muss der DN-Name der X.500-Benennungskonvention entsprechen. Beispiel: "CN=User, O=Microsoft". Wenn kein Präfix aus zwei Buchstaben vorhanden ist, kann stattdessen eine OID bereitgestellt werden.
[in] Usage
Ein Objektbezeichner (Object Identifier, OID), der den Zweck des generierten Zertifikats beschreibt. Beispiel: Individuelles oder kommerzielles Authenticode-Zertifikat oder Clientauthentifizierung. Sie können auch mehrere durch ein Komma getrennte OIDs angeben.
Die OID wird an die PKCS #10-Anforderung übergeben. Aus Gründen der allgemeinen Erweiterbarkeit und des einfachen Verständnisses versucht das Steuerelement nicht, spezifische OIDs zu verstehen. Wenn Sie also eine Clientauthentifizierungs-OID angeben, ist der generierte Schlüssel weiterhin ein Signaturschlüssel, kein Austauschschlüssel.
[in] pPKCS10
Die zurückgegebene base64-codierte PKCS10-Zertifikatanforderung.
Rückgabewert
C++
Der Rückgabewert ist ein HRESULT. Ein Wert von S_OK gibt den Erfolg an. Nach erfolgreichem Abschluss dieser Funktion enthält pPKCS10 eine base64-codierte PKCS #10-Anforderung (in BSTR-Form ). Das Format ist so, dass es zur Verarbeitung direkt an einen Webserver gesendet werden kann.VB
Die zurückgegebene base64-codierte PKCS10-Zertifikatanforderung.Hinweise
Standardmäßig wird der Microsoft Base Cryptographic Provider verwendet, PROV_RSA_FULL der Anbietertyp ist, ein Signaturschlüssel erstellt und ein eindeutiger neuer Schlüsselsatz erstellt wird.
Wenn diese Methode über das Skript aufgerufen wird, zeigt die -Methode eine Benutzeroberfläche an, die fragt, ob der Benutzer die Erstellung einer Zertifikatanforderung zulässt.
Beispiele
BSTR bstrDN = NULL;
BSTR bstrReq = NULL;
BSTR bstrOID = NULL;
ICEnroll4 * pEnroll = NULL;
HRESULT hr;
// initialize COM
hr = CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
if (FAILED(hr))
{
printf("Failed CoInitializeEx - %x\n", hr);
goto error;
}
hr = CoCreateInstance( __uuidof(CEnroll),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(ICEnroll4),
(void **)&pEnroll);
if (FAILED(hr))
{
printf("Failed CoCreateInstance - pEnroll [%x]\n", hr);
goto error;
}
// generate the DN for the cert request
bstrDN = SysAllocString( TEXT("CN=Your Name") // common name
TEXT(",OU=Your Unit") // org unit
TEXT(",O=Your Org") // organization
TEXT(",L=Your City") // locality
TEXT(",S=Your State") // state
TEXT(",C=Your Country") ); // country/region
if (NULL == bstrDN)
{
printf("Memory allocation failed for bstrDN.\n");
goto error;
}
// generate the OID, for example, "1.3.6.1.4.1.311.2.1.21".
bstrOID = SysAllocString(TEXT("<OIDHERE>"));
if (NULL == bstrOID)
{
printf("Memory allocation failed for bstrOID.\n");
goto error;
}
// create the PKCS10
hr = pEnroll->createPKCS10( bstrDN, bstrOID, &bstrReq );
if (FAILED(hr))
{
printf("Failed createPKCS10 - %x\n", hr);
goto error;
}
else
// do something with the PKCS10 (bstrReq);
error:
//clean up resources, and so on
if ( bstrDN )
SysFreeString( bstrDN );
if ( bstrOID )
SysFreeString( bstrOID );
if ( bstrReq )
SysFreeString( bstrReq );
if ( pEnroll )
pEnroll->Release();
CoUninitialize();
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | xenroll.h |
Bibliothek | Uuid.lib |
DLL | Xenroll.dll |