Re: Добавление CRL Distribution Point в новый сертификат в C
От: DragonMaster  
Дата: 12.03.07 11:50
Оценка:
Здравствуйте, DragonMaster, Вы писали:

DM>Здравствуйте.


DM>Пытаюсь создать собственный сертификат, содержащий в том числе Distribution Point:


DM>
DM>ICEnroll4 enroll = new CEnrollClass();
DM>CCertRequestClass request = new CCertRequestClass();
DM>CCertConfig config = new CCertConfig();
DM>CERTADMINLib.CCertAdmin objAdmin = new CERTADMINLib.CCertAdminClass();

DM>string requestString = "CN=Something, S=Russia, C=RU";
DM>CERTENCODELib.CCertEncodeCRLDistInfo dis = new CCertEncodeCRLDistInfo();
DM>dis.Reset(1);
DM>dis.SetNameCount(0, 2);
DM>dis.SetNameEntry(0, 0, 7, @"http://here.ru/CertEnroll/cert.crl");
DM>dis.SetNameEntry(0, 1, 7, @"file://\\here.ru\CertEnroll\cert.crl");
DM>string disEnc = dis.Encode();
DM>enroll.addExtensionToRequest(1, "2.5.29.28", disEnc);
DM>enroll.GenKeyFlags = 1;
DM>requestString = enroll.createPKCS10(requestString, "1.3.6.1.4.1.311.10.12.1");
DM>int i = request.Submit(0x100 | 0x1, requestString, "", config.GetConfig(0));
DM>objAdmin.ResubmitRequest(config.GetConfig(0), request.GetRequestId());
DM>


DM>Все проходит без ошибок, но Distribution Point в сертификате не меняется...

DM>Если вместо disEnc в addExtensionToRequest писать текст — тот же результат...
DM>Уже второй день бьюсь с этим .

DM>Заранее благодарен за подсказку.


И тоже самое с Alternative Name

CERTENCODELib.CCertEncodeAltName altName = new CCertEncodeAltName();
altName.Reset(2);
altName.SetNameEntry(0, 7, @"http://here.ru/CertEnroll/cert.crl");
altName.SetNameEntry(1, 7, @"file://\\here.ru\CertEnroll\cert.crl");
string altNameEncoded = altName.Encode();
enroll.addExtensionToRequest(1, "2.5.29.8", altNameEncoded);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.