Metodo ICEnroll::createFilePKCS10 (xenroll.h)
[Questo metodo non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista.]
Il metodo createFilePKCS10 crea una richiesta di certificato PKCS #10 con codifica Base64 e la salva in un file. Questo metodo è stato definito per la prima volta nell'interfaccia ICEnroll .
Questo metodo differisce dal metodo createPKCS10 solo nel salvataggio della richiesta di certificato PKCS #10 con codifica base64 (in formato BSTR ) nel file specificato dal parametro wszPKCS10FileName .
Sintassi
HRESULT createFilePKCS10(
[in] BSTR DNName,
[in] BSTR Usage,
[in] BSTR wszPKCS10FileName
);
Parametri
[in] DNName
Nome distinto (DN) dell'entità per cui viene effettuata la richiesta. DNName deve seguire la convenzione di denominazione X.500 . Ad esempio"CN=User, O=Microsoft". Se non esiste un prefisso di due lettere, è possibile specificare invece un identificatore di oggetto (OID).
[in] Usage
OID che descrive lo scopo del certificato generato, ad esempio il certificato Authenticode singolo o commerciale o l'autenticazione client. È anche possibile specificare più URI separati da una virgola.
L'OID viene passato alla richiesta PKCS #10. Il controllo non esamina l'OID.
[in] wszPKCS10FileName
Nome del file in cui viene salvato il file CON CODIFICA BASE64 PKCS #10 (in formato BSTR ). Il contenuto di questo file può essere inviato a un'autorità di certificazione per l'elaborazione .
Valore restituito
VB
Il valore restituito è HRESULT. Il valore S_OK indica l'esito positivo.Se il metodo ha esito negativo, il valore restituito è un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Commenti
Per impostazione predefinita, viene usato il provider di crittografia Di base Microsoft e viene creata una chiave di firma univoca.
Quando questo metodo viene chiamato dallo script, il metodo visualizza un'interfaccia utente che chiede se l'utente consentirà la creazione di una richiesta di certificato e se l'utente consentirà un'operazione di scrittura nel file system.
Esempio
BSTR bstrDN = NULL;
BSTR bstrOID = NULL;
BSTR bstrFileName = NULL;
ICEnroll4 * pEnroll = NULL;
HRESULT hr;
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;
}
// Specify the file name, for example, "myPKCS10.req"
bstrFileName = SysAllocString(TEXT("<FILENAMEHERE>"));
if (NULL == bstrFileName)
{
printf("Memory allocation failed for bstrFileName.\n");
goto error;
}
// Create the PKCS10 (stored in a file).
hr = pEnroll->createFilePKCS10( bstrDN, bstrOID, bstrFileName );
if (FAILED(hr))
{
printf("Failed createFilePKCS10 - %x\n", hr);
goto error;
}
else
printf("Successfully created file containing PKCS10\n");
error:
// Clean up resources and so on.
if ( bstrFileName )
SysFreeString( bstrFileName );
if ( bstrDN )
SysFreeString( bstrDN );
if ( bstrOID )
SysFreeString( bstrOID );
if ( pEnroll )
pEnroll->Release();
CoUninitialize();
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | xenroll.h |
Libreria | Uuid.lib |
DLL | Xenroll.dll |