Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.09.2006, 12:32
|
|||
|---|---|---|---|
|
|||
Выдача сертификата |
|||
|
#18+
Ув. подскажите, как можно в 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 ""; } } Объясните плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.09.2006, 17:01
|
|||
|---|---|---|---|
|
|||
Выдача сертификата |
|||
|
#18+
Добавь референс на certcli.dll лежит в System32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&tablet=1&tid=1389197]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
77ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 434ms |

| 0 / 0 |
