MakeCert
Примечание.
Мы не рекомендуем использовать MakeCert. Чтобы создать самозаверяющие сертификаты, используйте командлет PowerShell New-SelfSignedCertificate.
Средство MakeCert создает сертификат X.509 , подписанный корневым ключом теста или другим указанным ключом, который привязывает имя к общедоступной части пары ключей. Сертификат сохраняется в файле, системном хранилище сертификатов или обоих. Средство устанавливается в папку \Bin пути установки пакета SDK для Microsoft Windows.
Пакет SDK для Windows можно скачать из 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 должен быть одним из трех возможных значений:
|
-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 | Спецификация ключа издателя, которая должна быть одним из трех возможных значений:
|
-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 завершится ошибкой. |