Как я могу сгенерировать файл .pfx? - PullRequest
8 голосов
/ 19 января 2012

Есть ли способ создания файлов .pfx для подписи документов, я нашел программу под названием x509 Certificate Generate, но я хочу знать, можно ли ее сгенерировать в коде с использованием c #.

Ответы [ 5 ]

5 голосов
/ 19 января 2012

Существует инструмент командной строки Microsoft makecert , который можно использовать для создания сертификатов. Это часть Windows SDK. На моей машине есть полдюжины версий, например в C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64. Затем в своем коде вы можете запустить процесс для запуска исполняемого файла с соответствующими параметрами.

3 голосов
/ 19 января 2012

Прежде всего, подписание документов с помощью самозаверяющих сертификатов не имеет смысла, если у вас нет собственной иерархии PKI в вашей организации (и в последнем случае вам нужно хорошо знать, что вы делаете, что, похоже, не так),

PFX - это контейнер для одного или нескольких сертификатов со связанными закрытыми ключами.Таким образом, вы не генерируете "файл PFX".Вы генерируете пару ключей и создаете сертификат, который затем можно экспортировать в файл PFX или в другой формат.

Как упоминалось выше, BouncyCastle может генерировать сертификаты, а наша библиотека SecureBlackbox также может генерировать сертификаты и сохранять и загружать их в / из многих различных форматов.

3 голосов
/ 19 января 2012

Вы можете проверить API Bouncy Castle , его можно использовать для генерации сертификатов с использованием C #.

0 голосов
/ 23 июля 2013

Вы можете сделать цифровую подпись с помощью Adobe Reader

, если вы используете Adobe X -потом перейдите к третьему варианту слева - здесь вы можете увидеть настройки подписи -Открыть это и перейти к добавлению ID -Просто введитеВаши данные и все готово. Файл .pfx готов, где бы вы ни просматривали его. -Действителен в течение 6 лет

0 голосов
/ 19 января 2012

Если вы читаете о makecert, как и в ответе @David Clarke, вы увидите, что для выполнения вашего требования вам просто нужен управляемый makecert, написанный на .NET.

К счастью, парни из Mono реализовали это давно,

https://github.com/mono/mono/blob/master/mcs/tools/security/makecert.cs

...