Как я могу временно добавить центр сертификации для моей программы или доверять ему?

Наша программа должна работать со сторонним сертификатом, предоставленным партнером. Этот сертификат требует, чтобы мы установили центр сертификации, который также был предоставлен нам, перед подключением к клиентскому серверу. По сути, нам приходится работать с самоподписанным сертификатом.

Приложение написано на C #. Я мог бы просто проинструктировать конечных пользователей о том, как установить центр сертификации перед запуском нашего приложения, но в идеале я хотел бы просто временно добавить / доверять файлу .pfx центра сертификации и встроить этот файл в качестве ресурса в .exe.

Есть у кого-нибудь идеи?


person benstpierre    schedule 07.08.2014    source источник
comment
Какой метод они используют для подключения к своему серверу? Если они используют метод, который позволяет настраивать через файл конфигурации, вы можете что-то сделать. В противном случае вам нужно будет изменить код приложения, чтобы он смотрел куда-нибудь, кроме хранилища сертификатов на локальном компьютере.   -  person Guvante    schedule 07.08.2014
comment
Может быть, вставить оператор #if DEBUG, а затем запустить командную строку certutil, если в DEBUG?   -  person Mike Cheel    schedule 07.08.2014
comment
Не могли бы вы просто установить сертификат как часть процесса установки приложения, а не делать его временным?   -  person James    schedule 07.08.2014


Ответы (1)


Моей первой мыслью (как упоминалось в комментариях) было бы использовать Process.Start () внутри условной компиляции #if DEBUG (или использовать вашу собственную переменную) для запуска certutil. См. Эту статью, чтобы узнать, как установить сторонний центр сертификации с помощью certutil: http://support.microsoft.com/kb/295663

Чтобы импортировать сертификат CA в хранилище Enterprise NTAuth, выполните следующие действия: Экспортируйте сертификат CA в файл .cer. Поддерживаются следующие форматы файлов: Двоичный код в формате DER X.509 (.cer) в кодировке Base-64 X.509 (.cer) В командной строке введите следующую команду и нажмите клавишу ВВОД: certutil -dspublish -f filename NTAuthCA

Документация по Process.Start ():

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx

Вы также можете просто написать файл bacth для установки и удаления и включить его в систему управления версиями или проект с помощью readme.

person Mike Cheel    schedule 07.08.2014