добавьте или создайте поле 'Subject Alternative Name' в самозаверяющем сертификате с помощью makecert - PullRequest
26 голосов
/ 17 июня 2011

Как создать сертификат, используя makecert с полем «Альтернативное имя субъекта»?

enter image description here

Вы можете добавить некоторые поля, например,«Расширенное использование ключа» с опцией -eku, и я пробовал опцию -san, но makecert не нравится.

Это самозаверяющий сертификат, поэтому любой метод, использующий IIS для создания чего-либо дляотправка в ЦС не подходит.

Ответы [ 3 ]

28 голосов
/ 28 апреля 2017

Еще более простой способ - использовать командлет PowerShell New-SelfSignedCertificate, который по умолчанию включает SAN.Одной командой вы можете создать сертификат и добавить его в хранилище.

New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My

Обратите внимание, что вам нужно запустить PowerShell от имени администратора.

14 голосов
/ 15 октября 2011

Makecert не поддерживает SAN, поэтому я создал сертификат с SAN для использования с IIS с использованием OpenSSL.Проверьте мой пост об этом.

http://andyarismendi.blogspot.com/2011/09/creating-certificates-with-sans-using.html

8 голосов
/ 21 июня 2013

Обновление

Сертификат, созданный с использованием приведенного ниже метода makecert, работает не надежно во всех браузерах, поскольку фактически не генерирует «Альтернативное имя субъекта».

Если вы изучите сертификат, то увидите, что на самом деле у него нет поля Subject Alternative Name, а вместо этого указано несколько CN в поле Subject.

* 1013 Е.Г. *

Subject:
CN = blah.foo.corp
CN = blah

В то время как настоящий сертификат "SAN" будет иметь что-то вроде:

Subject Alternative Name:
DNS Name=blah.foo.corp
DNS Name=blah

Чтобы понять различия и историю между полем «Тема» с «Общим именем» и полем «Альтернативное имя субъекта», я рекомендую прочитать (скоро будет) не очень общее имя .

Похоже, что makecert нельзя использовать для создания настоящего сертификата "SAN", и вам нужно будет использовать другие инструменты, такие как openssl.


Оригинальный ответ:

По крайней мере, с версией makecert, поставляемой с Visual Studio 2012, вы можете указать несколько предметов, просто указав разделенный запятыми список -n "CN=domain1, CN=domain2"

например. (из блога technet Makecert.exe SAN и сертификат Wildcard )

makecert -r -pe -n "CN=*.fabrikam.com, CN=*.contoso.com" -b 01/01/2010 -e 01/01/2100 -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.3,1.3.6.1.5.5.7.3.4 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -len 2048
...