Самоподписанный сертификат ключа

Я пытаюсь понять, как создать сертификат X.509, содержащий самозаверяющий открытый ключ DSA (SSK) на С#.

Отказавшись от нативной криптобиблиотеки C#, которая, похоже, не позволяет этого, я обратился к библиотеке Bouncy Castle.

Однако, несмотря на противоположное описание, загрузка не содержит никаких документов.

Я пробирался через классы библиотеки, но их много!

Мне просто нужно сгенерировать случайную пару ключей, подписать их и сохранить в файле сертификата.

Кто-нибудь делал это, и вы можете указать мне на хороший пример или даже, может быть, привести пример?

Спасибо за вашу помощь!


person CompanyDroneFromSector7G    schedule 30.10.2013    source источник


Ответы (2)


Мы успешно сделали это некоторое время назад (но в итоге пришлось использовать «несамоподписанные сертификаты»). Наша реализация основывалась на следующем примере от Дуга Э. Кука. http://blogs.msdn.com/b/dcook/archive/2008/11/25/creating-a-self-signed-certificate-in-c.aspx?PageIndex=2

person Wonderbird    schedule 30.10.2013
comment
Это действительно хорошее начало, спасибо! Любая идея, как сохранить его в действительный файл сертификата X509? - person CompanyDroneFromSector7G; 31.10.2013
comment
byte[] baCert = CreateSelfSignCertificatePfx(CN=MYCERT, DateTime.Now, DateTime.Now + TimeSpan.FromDays(3650), MyCertPW); File.WriteAllBytes(c:\\myCertFile.pfx, baCert); (При отработке примера по ранее указанной ссылке) - person Wonderbird; 31.10.2013
comment
Это именно то, что я сделал! И ваш ответ правильный. Мне просто нужно преобразовать pfx в формат crt, но это уже другой вопрос. Спасибо :) - person CompanyDroneFromSector7G; 31.10.2013

Я генерировал самоподписанные сертификаты RSA с помощью Bouncy Castle, это должно позволить вам начать свои собственные эксперименты:

http://www.wiktorzychla.com/2012/12/how-to-create-x509certificate2.html

person Wiktor Zychla    schedule 30.10.2013
comment
Выглядит неплохо, но в примере кода используется класс RsaKeyPairGenerator; Вы знаете, как ссылаться на это? Или, что еще лучше, версия DSA? Спасибо - person CompanyDroneFromSector7G; 31.10.2013
comment
Есть DSAKeyPairGenerator, вы не могли его пропустить. - person Wiktor Zychla; 31.10.2013
comment
Требовалось using Org.BouncyCastle.Crypto.Generators;, о котором не упоминалось. - person CompanyDroneFromSector7G; 31.10.2013