Использование makecert для разработки SSL

Вот моя ситуация:

Я пытаюсь создать SSL-сертификат, который будет установлен на всех машинах разработчика, а также два внутренних сервера (все непродуктивно).

Что мне нужно сделать, чтобы создать сертификат, который можно установить во всех этих местах?

Прямо сейчас у меня есть что-то в этом роде, используя приложение makecert в Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin:

makecert -r -pe -n "CN=MySite.com Dev" -b 01/01/2000 -e 01/01/2033 -eku 1.3.6.1.5.5.7.3.1 -ss Root -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 mycert.cer 

Тем не менее, я не уверен, как разместить этот файл .cer на других компьютерах, и когда я устанавливаю его на свой локальный компьютер IIS, каждый раз, когда я посещаю страницу через https :, я получаю подсказку безопасности (даже после того, как я вы установили сертификат). Кто-нибудь делал это раньше?

Вот мои сценарии для этого:

Создать центр сертификации

Создайте самозаверяющий сертификат (-r) с помощью экспортируемого закрытого ключа (-pe), используя SHA1 (-r) для подписания (-sky подписи). Закрытый ключ записывается в файл (-sv).

 makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^ -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer 

(^ = разрешить пакетную строку командной строки)

Создать сертификат сервера

Создайте сертификат сервера с помощью экспортируемого закрытого ключа (-pe), используя SHA1 (-a) для обмена ключами (-sky exchange). Его можно использовать в качестве сертификата сервера SSL (-eku 1.3.6.1.5.5.7.3.1). Сертификат выдачи находится в файле (-ic), как и ключ (-iv). Используйте конкретного поставщика криптова (-sp, -sy).

 makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^ -eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^ -sp "Microsoft RSA SChannel Cryptographic Provider" ^ -sy 12 -sv server.pvk server.cer pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx 

Затем вы используете файл .PFX в своем серверном приложении (или устанавливаете его в IIS). Обратите внимание, что по умолчанию pvk2pfx не применяет пароль к выходному файлу PFX . Для этого вам нужно использовать переключатель -po .

Чтобы доверять всем вашим клиентским компьютерам, установите CA.cer в свои хранилища сертификатов (в хранилище доверенных корневых администраторов). Если вы находитесь в домене, вы можете использовать групповую политику Windows, чтобы сделать это глобально. Если нет, вы можете использовать snapin certmgr.msc MMC или утилиту командной строки certutil :

 certutil -user -addstore Root CA.cer 

Чтобы программно установить сертификат в IIS 6.0, просмотрите эту статью Microsoft KB . Для IIS 7.0 я не знаю.

Вы должны добавить -cy authority к коммутаторам при создании центра сертификации, иначе некоторые магазины сертификатов не будут рассматривать его как надлежащий ЦС.

  • «Основное соединение было закрыто: при отправке произошла непредвиденная ошибка». С SSL-сертификатом
  • Использование SSL и SslStream для одноранговой аутентификации?
  • Проблемы с подключением через HTTPS / SSL через собственный клиент Java
  • jQuery ajax и SSL?
  • Как получить файл .pem из .key и .crt файлов?
  • Вызывается: java.security.UnrecoverableKeyException: невозможно восстановить ключ
  • Подключение SSL / Сброс соединения с помощью IISExpress
  • Как обрабатывать недопустимые SSL-сертификаты с помощью Apache HttpClient?
  • Установите сертификат SSL с ненадежного веб-сайта в оснастку «Сертификаты», используя IE
  • Включить SSL для моей службы WCF
  • SSL / TLS vs SSL / TLS-VPN
  • Давайте будем гением компьютера.