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

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

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

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

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

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:, я получаю приглашение безопасности (даже после установки сертификата). Кто-нибудь делал это раньше?

2 ответов


вот мои скрипты для этого:

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

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

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 для этого глобально. Если нет, вы можете использовать команду certmgr.msc MMC snapin, или certutil утилита командной строки:

certutil -user -addstore Root CA.cer

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


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