2015-11-07 8 views
1

-исполнителей сертификатов с DLL CertEnroll на ASP.Net Fw давал 4 веб-сайт:ASP.Net Fw 4,0 CertEnroll API Система не может найти указанный файл

CX509CertificateRequestPkcs10 objPkcs10 = new CX509CertificateRequestPkcs10Class(); 
    CX509PrivateKey objPrivateKey = new CX509PrivateKeyClass(); 
    CCspInformation objCSP = new CCspInformationClass(); 
    CCspInformations objCSPs = new CCspInformationsClass(); 
    CX500DistinguishedName objDN = new CX500DistinguishedNameClass(); 
    CX509Enrollment objEnroll = new CX509EnrollmentClass(); 
    CObjectIds objObjectIds = new CObjectIdsClass(); 
    CObjectId objObjectId = new CObjectIdClass(); 
    CX509ExtensionKeyUsage objExtensionKeyUsage = new CX509ExtensionKeyUsageClass(); 
    CX509ExtensionEnhancedKeyUsage objX509ExtensionEnhancedKeyUsage = new CX509ExtensionEnhancedKeyUsageClass(); 
    string strRequest; 


    try 
    { 

     // Initialize the csp object using the desired Cryptograhic Service Provider (CSP) 
     objCSP.InitializeFromName(
      "Microsoft Enhanced Cryptographic Provider v1.0" 
     ); 
     // Add this CSP object to the CSP collection object 
     objCSPs.Add(
      objCSP 
     ); 
     // Provide key container name, key length and key spec to the private key object 
     //objPrivateKey.ContainerName = "AlejaCMa"; 
     objPrivateKey.Length = 1024; 
     objPrivateKey.KeySpec = X509KeySpec.XCN_AT_SIGNATURE; 
     objPrivateKey.KeyUsage = X509PrivateKeyUsageFlags.XCN_NCRYPT_ALLOW_ALL_USAGES; 
     objPrivateKey.MachineContext = false; 


     // Provide the CSP collection object (in this case containing only 1 CSP object) 
     // to the private key object 
     objPrivateKey.CspInformations = objCSPs; 

     // Create the actual key pair 
     objPrivateKey.Create(); 
...... 

Он бросает следующее сообщение об ошибке (на последней строке)

Certificate Error CertEnroll::CX509PrivateKey::Create: The system cannot find the file specified. 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND) 

При отладке она проходит команда Create() без ошибок ... но на моей тестовой среде: Windows Server 2012 это не удается

источник: http://blogs.msdn.com/b/alejacma/archive/2008/09/05/how-to-create-a-certificate-request-with-certenroll-and-net-c.aspx

+0

Вы можете проверить это на другую среду, чтобы увидеть, если проблема с окружающей средой или что-то еще? –

+0

У меня такая же проблема в моей среде dev.: / – Osvier

ответ

0

Я установил, установив Load User Profile = True в расширенных настройках IIS

См Tim Erikson ответ here

 Смежные вопросы

  • Нет связанных вопросов^_^