Использование 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. Для IIS 7.0, я не знаю.
вы должны добавить
-cy authorityк коммутаторам при создании центра сертификации, в противном случае некоторые хранилища сертификатов не будут видеть его как правильный CA.
Comments