ICEnroll ::createFilePKCS10, méthode (xenroll.h)
[Cette méthode n’est plus disponible à partir de Windows Server 2008 et Windows Vista.]
La méthode createFilePKCS10 crée une demande de certificat PKCS #10 codée en base64 et l’enregistre dans un fichier. Cette méthode a d’abord été définie dans l’interface ICEnroll .
Cette méthode diffère de la méthode createPKCS10 uniquement par l’enregistrement de la demande de certificat PKCS #10 encodée en base64 (au format BSTR ) dans le fichier spécifié par le paramètre wszPKCS10FileName .
Syntaxe
HRESULT createFilePKCS10(
[in] BSTR DNName,
[in] BSTR Usage,
[in] BSTR wszPKCS10FileName
);
Paramètres
[in] DNName
Nom unique (DN) de l’entité pour laquelle la demande est effectuée. DNName doit respecter la convention de nommage X.500 . Par exemple, « CN=User, O=Microsoft ». S’il n’existe pas de préfixe à deux lettres, un identificateur d’objet (OID) peut être fourni à la place.
[in] Usage
OID qui décrit l’objectif du certificat généré, par exemple un certificat Authenticode individuel ou commercial ou l’authentification client. Vous pouvez également spécifier plusieurs OID séparés par une virgule.
L’OID est transmis à la requête PKCS #10. Le contrôle n’examine pas l’OID.
[in] wszPKCS10FileName
Nom du fichier dans lequel le PKCS #10 encodé en base64 (au format BSTR ) est enregistré. Le contenu de ce fichier peut être soumis à une autorité de certification pour traitement.
Valeur retournée
VB
La valeur de retour est HRESULT. Une valeur de S_OK indique la réussite.Si la méthode échoue, la valeur de retour est un HRESULT indiquant l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
Remarques
Par défaut, le fournisseur de chiffrement de base Microsoft est utilisé et une clé de signature unique est créée.
Lorsque cette méthode est appelée à partir d’un script, la méthode affiche une interface utilisateur qui demande si l’utilisateur autorise la création d’une demande de certificat et si l’utilisateur autorise une opération d’écriture dans le système de fichiers.
Exemples
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();
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | xenroll.h |
Bibliothèque | Uuid.lib |
DLL | Xenroll.dll |