Самоподписанный сертификат в Windows без makecert? - PullRequest
8 голосов
/ 09 октября 2008

У нас есть серверное приложение Windows в сжатом виде, где нам нужно создать самозаверяющий сертификат на сервере, который будет использоваться некоторыми веб-службами WCF. Из наших поисков в Интернете видно, что утилита makecert в PlatformSDK от Microsoft не может распространяться вместе с нашим приложением, поэтому мы ищем альтернативы.

Кто-нибудь знает, как использовать OpenSSL для создания сертификата и получения его в хранилище сертификатов Windows LocalMachine? Или, в качестве альтернативы, просто вставить сертификат в хранилище в приложении .NET, и мы должны просто создать файл сертификата с помощью openssl? Любая помощь / предложения будут оценены.

Ответы [ 5 ]

8 голосов
/ 27 июня 2015

Теперь вы можете создавать самоподписанные сертификаты с PowerShell Вам нужны следующие команды: New-SelfSignedCertificate и Export-PfxCertificate. Пример: создать сертификат

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname orin.windowsitpro.internal

чтобы экспортировать

Export-PfxCertificate -cert cert:\localMachine\my\CE0976529B02DE058C9CB2C0E64AD79DAFB18CF4 -FilePath e:\temp\cert.pfx -Password $pwd

Эта ссылка действительно полезна

http://windowsitpro.com/blog/creating-self-signed-certificates-powershell

8 голосов
/ 16 февраля 2010

[К сожалению, я пока не могу ничего комментировать, поэтому опубликую это как ответ.]

Я вижу, что этот пост немного устарел, но я нахожусь в подобной лодке и обнаружил его в файле redist.txt в Visual Studio 2008:

Windows SDK Files

Subject to the license terms for the software, the following files may be distributed unmodified:

MageUI.exe
Mage.exe
Makecert.exe

Не уверен, что что-то изменилось (и если моя интерпретация верна), но похоже, что makecert.exe, включенный как часть Windows SDK, который, в свою очередь, включен как часть установки VS2008, действительно может быть распространен.

2 голосов
/ 02 февраля 2011

Одной из альтернатив для программной генерации сертификатов является версия C # Bouncy Castle. http://www.bouncycastle.org/csharp/

2 голосов
/ 10 октября 2008

Я не использовал OpenSSL, но я в той же лодке и нашел эту статью полезной:

Защита служб WCF с помощью сертификатов

Автор проведет вас через установку служб сертификации Microsoft, создаст центр сертификации, который можно добавить в доверенные центры сертификации (как на клиенте, так и на сервере, поскольку он самозаверяющий), а затем сгенерирует сертификаты клиента и сервера, которые соединяются из подписанный сертификат CA.

Вам не понадобятся клиентские сертификаты, но это поможет вам создать самозаверяющий CA и серверный сертификат.

2 голосов
/ 09 октября 2008

Woohoo! Время для pinvoke для вас

crypt32 предоставляет функцию CertCreateSelfSignCertificate ; если это удастся, вы можете сохранить его в личном магазине пользователя (или в магазине, если вы работаете с повышенными правами)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...