Поделиться через


MakeCert

Примечание.

Мы не рекомендуем использовать MakeCert. Чтобы создать самозаверяющие сертификаты, используйте командлет PowerShell New-SelfSignedCertificate.

 

Средство MakeCert создает сертификат X.509 , подписанный корневым ключом теста или другим указанным ключом, который привязывает имя к общедоступной части пары ключей. Сертификат сохраняется в файле, системном хранилище сертификатов или обоих. Средство устанавливается в папку \Bin пути установки пакета SDK для Microsoft Windows.

Средство MakeCert использует следующий синтаксис команды:

MakeCert [BasicOptions ExtendedOptions|] OutputFile

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

Параметры

MakeCert включает основные и расширенные параметры. Основные параметры — это наиболее часто используемые для создания сертификата. Расширенные варианты обеспечивают большую гибкость.

Параметры MakeCert также разделены на три функциональные группы:

  • Базовые параметры, относящиеся только к технологии хранилища сертификатов.
  • Расширенные параметры, относящиеся только к технологии SPC-file и закрытого ключа.
  • Расширенные параметры, применимые к SPC-файлу, закрытому ключу и технологии хранилища сертификатов.

Параметры, указанные в следующих таблицах, можно использовать только с Internet Explorer 4.0 или более поздней версии.

Вариант "Базовый" Description
-алгоритм Хэш-алгоритм . Необходимо задать значение SHA-1 или MD5 (по умолчанию). Сведения о MD5 см. в разделе MD5.
-bDateStart Дата первого вступления сертификата в силу. Значение по умолчанию — при создании сертификата. Формат DateStart — mm/dd/гггг.
-cyCertificateTypes Тип сертификата. CertificateTypes может быть завершен для конечной сущности или центра сертификации.
-eDateEnd Дата окончания срока действия. Значение по умолчанию — 2039 год.
-ekuOID1,OID2 ... Вставляет список одного или нескольких разделенных запятыми, расширенных идентификаторов объектов использованияключей (OID) в сертификат. Например, -eku 1.3.6.1.5.5.7.3.2 вставляет идентификатор проверки подлинности клиента. Определения допустимых OID см. в файле Wincrypt.h в CryptoAPI 2.0.
-hNumChildren Максимальная высота дерева под этим сертификатом.
-lPolicyLink Ссылка на сведения о политике агентства SPC (например, URL-адрес).
-mnMonths Длительность срока действия.
-n"Name" Имя сертификата издателя. Это имя должно соответствовать стандарту X.500 . Самый простой метод — использовать формат CN=MyName. Например: -n "CN=Test".
-nscp Необходимо включить расширение проверки подлинности клиента Netscape.
-pe Помечает закрытый ключ как экспортируемый.
-r создает самозаверяющий сертификат;
-scSubjectCertFile Имя файла сертификата с существующим открытым ключом субъекта, который будет использоваться.
-skSubjectKey Расположение контейнера ключей субъекта, который содержит закрытый ключ. Если контейнер ключей не существует, он будет создан. Если параметр -sk или -sv не используется, по умолчанию создается и используется контейнер ключей по умолчанию.
-skySubjectKeySpec Спецификация ключа субъекта. SubjectKeySpec должен быть одним из трех возможных значений:
  • Сигнатура (спецификация ключа AT_SIGNATURE)
  • Exchange (спецификация ключа AT_KEYEXCHANGE)
  • Целое число, например 3
Дополнительные сведения см. в разделе "Примечание", которое следует за этой таблицей.
-spSubjectProviderName Поставщик CryptoAPI для субъекта. По умолчанию используется поставщик пользователя. Сведения о поставщиках CryptoAPI см. в документации по CryptoAPI 2.0.
-srSubjectCertStoreLocation Расположение реестра хранилища сертификатов субъекта. SubjectCertStoreLocation должен быть localMachine (раздел реестра HKEY_LOCAL_MACHINE) или CurrentUser (раздел реестра HKEY_CURRENT_USER). CurrentUser — это значение по умолчанию.
-ssSubjectCertStoreName Имя хранилища сертификатов субъекта, в котором будет храниться созданный сертификат.
-svSubjectKeyFile Имя PVK-файла субъекта. Если параметр -sk или -sv не используется, по умолчанию создается и используется контейнер ключей по умолчанию.
-synSubjectProviderType Тип поставщика CryptoAPI для субъекта. Значение по умолчанию — PROV_RSA_FULL. Сведения о типах поставщиков CryptoAPI см. в документации по CryptoAPI 2.0.
-#SerialNumber Серийный номер сертификата. Максимальное значение — 2^31. Значение по умолчанию, созданное средством, гарантированно уникальным.
-$CertificateAuthority Тип центра сертификации. CertificateAuthority должен иметь значение "коммерческий " (для сертификатов, используемых издателями коммерческого программного обеспечения) или отдельных (для сертификатов, используемых отдельными издателями программного обеспечения).
-? Отображает основные параметры.
-! Отображает расширенные параметры.

 

Примечание.

Если параметр спецификации ключа -sky используется в Internet Explorer версии 4.0 или более поздней, спецификация должна соответствовать спецификации ключа, указанной файлом закрытого ключа или контейнером закрытого ключа. Если параметр спецификации ключа не используется, будет использоваться спецификация ключа, указанная файлом закрытого ключа или контейнером закрытого ключа. Если в контейнере ключей существует несколько спецификаций ключей, MakeCert сначала попытается использовать спецификацию ключа AT_SIGNATURE. Если это не удается, MakeCert попытается использовать AT_KEYEXCHANGE. Так как большинство пользователей имеют ключ AT_SIGNATURE или ключ AT_KEYEXCHANGE, этот параметр не требуется использовать в большинстве случаев.

 

Следующие параметры предназначены только для файлов сертификата издателя программного обеспечения (SPC) и технологии закрытого ключа.

Параметр SPC и закрытый ключ Description
-icIssuerCertFile Расположение сертификата издателя.
-ikIssuerKey Расположение контейнера ключей издателя. По умолчанию используется корневой ключ теста.
-ikyIssuerKeySpec Спецификация ключа издателя, которая должна быть одним из трех возможных значений:
  • Сигнатура (спецификация ключа AT_SIGNATURE)
  • Exchange (спецификация ключа AT_KEYEXCHANGE)
  • Целое число, например 3
Дополнительные сведения см. в разделе "Примечание", которое следует за этой таблицей.
-ipIssuerProviderName Поставщик CryptoAPI для издателя. По умолчанию используется поставщик пользователя. Сведения о поставщиках CryptoAPI см. в документации по CryptoAPI 2.0.
-ivIssuerKeyFile Файл закрытого ключа издателя. По умолчанию используется корневой каталог теста.
-iynIssuerProviderType Тип поставщика CryptoAPI для издателя. Значение по умолчанию — PROV_RSA_FULL. Сведения о типах поставщиков CryptoAPI см. в документации по CryptoAPI 2.0.

 

Примечание.

Если параметр спецификации ключа -iky используется в Internet Explorer 4.0 или более поздней версии, спецификация должна соответствовать спецификации ключа, указанной файлом закрытого ключа или контейнером закрытого ключа. Если параметр спецификации ключа не используется, будет использоваться спецификация ключа, указанная файлом закрытого ключа или контейнером закрытого ключа. Если в контейнере ключей существует несколько спецификаций ключей, MakeCert сначала попытается использовать спецификацию ключа AT_SIGNATURE. Если это не удается, MakeCert попытается использовать AT_KEYEXCHANGE. Так как большинство пользователей имеют ключ AT_SIGNATURE или ключ AT_KEYEXCHANGE, этот параметр не требуется использовать в большинстве случаев.

 

Следующие параметры предназначены только для технологии хранилища сертификатов.

Параметр хранилища сертификатов Description
-ic IssuerCertFile Файл, содержащий сертификат издателя. MakeCert будет выполнять поиск в хранилище сертификатов для сертификата с точным совпадением.
-in IssuerNameString Общее имя сертификата издателя. MakeCert будет выполнять поиск в хранилище сертификатов для сертификата, общее имя которого включает IssuerNameString.
-ir IssuerCertStoreLocation Расположение реестра хранилища сертификатов издателя. IssuerCertStoreLocation должен быть localMachine (раздел реестра HKEY_LOCAL_MACHINE) или CurrentUser (раздел реестра HKEY_CURRENT_USER). CurrentUser — это значение по умолчанию.
-is IssuerCertStoreName Хранилище сертификатов издателя, включающее сертификат издателя и связанные с ним сведения о закрытом ключе. Если в хранилище есть несколько сертификатов, пользователь должен однозначно идентифицировать его с помощью параметра -ic или -in . Если сертификат в хранилище сертификатов не определен однозначно, MakeCert завершится ошибкой.