Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выдача сертификата / 3 сообщений из 3, страница 1 из 1
26.09.2006, 12:32
    #34012265
Darkman_CV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача сертификата
Ув. подскажите, как можно в ASP.NET составить запрос на сертификат и отправить этот запрос в Certification Authority, а в ответ получить сертификат?

Нащёл в google.com вот это:

using System;using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.IO;

const int CR_IN_BASE64 = 0x00000001;
const int CR_IN_PKCS10 = 0x00000100;
const int CR_OUT_BASE64 = 0x00000001;
const int CR_OUT_BINARY = 0x00000002;
const int CR_OUT_BASE64HEADER = 0x00000000;

//strRequestString = Client certificate request, issued by clientprivate 

void CreateAndIssueCertificate(string strRequestString)
{
    int numDisposition;
    string strRequestString;
    string strCertificate;

    CERTCLIENTLib.CCertRequestClass objCertRequest = new CERTCLIENTLib.CCertRequestClass();
        CERTADMINLib.CCertAdmin objAdmin = new CERTADMINLib.CCertAdminClass();
        
        //Client certificate request. Request is now pending.
    //strConfig = Config string of the CA    
        numDisposition = objCertRequest.Submit(CR_IN_BASE64 |  CR_IN_PKCS10, strRequestString, "", strConfig);    

    //Now issue the request    
        numDisposition = objAdmin.ResubmitRequest(m_CAName, objCertRequest.GetRequestId());
    
        //Refresh the request, since is has now the 'Issued' status
        numDisposition = lv_CertRequest.RetrievePending(objCertRequest.GetRequestId(), strConfig);

        //Get the certificate
    strCertificate = lv_CertRequest.GetCertificate(CR_OUT_BASE64HEADER);

        //Now write the certificate to a CER file using a stream
        StreamWriter lv_stream = new StreamWriter(strPathToCertificate + "/certificate.cer",false);    lv_stream.Write(strCertificate);    
        lv_stream.Close();
}

Что это такое?


    CERTCLIENTLib.CCertRequestClass objCertRequest = new CERTCLIENTLib.CCertRequestClass();
        CERTADMINLib.CCertAdmin objAdmin = new CERTADMINLib.CCertAdminClass();

Вот есть такая вариация:

public string CreateClientCertificate(string a_sName, string a_sEmail,
string a_sCompany, string a_sDepartment, string a_sCity, string a_sState,
string a_sCountry, string a_sCA)

{
CERTCLIENTLib.CCertRequestClass cr = new CERTCLIENTLib.CCertRequestClass();
XENROLLLib.CEnrollClass ce = new XENROLLLib.CEnrollClass();

try
{
//Create the request
string strDN = "CN=" + a_sName;
strDN = strDN + ",O=" + a_sCompany;
strDN = strDN + ",OU=" + a_sDepartment;
strDN = strDN + ",L=" + a_sCity;
strDN = strDN + ",S=" + a_sState;
strDN = strDN + ",C=" + a_sCountry;
strDN = strDN + ",E=" + a_sEmail;

//Encode the request (1.3.6.1.4.1.311.2.1.21) represents a client-browsercertificate
strDN = ce.createPKCS10(strDN,"1.3.6.1.4.1.311.2.1.21");

//Submit the request to the CA
int iResult = cr.Submit(0x100 | 0x1 ,strDN,"",a_sCA);
//Get it back out again
string s = cr.GetCertificate(iResult);
return s;
}

catch(Exception e)

{

return "";

}

}


Объясните плз.
...
Рейтинг: 0 / 0
26.09.2006, 17:01
    #34013470
Evgesha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача сертификата
Добавь референс на certcli.dll лежит в System32
...
Рейтинг: 0 / 0
27.09.2006, 01:47
    #34014200
Darkman_CV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача сертификата
Здравствуйте, Evgesha, Вы писали:

E>Добавь референс на certcli.dll лежит в System32

Спасибо.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выдача сертификата / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]