Средство создания сертификатов (Makecert.exe)
Обновлен: Ноябрь 2007
Инструмент для создания сертификатов генерирует сертификаты X.509, предназначенные исключительно для тестирования. Этот инструмент создает пару из открытого и закрытого ключей для цифровой подписи и помещает ее в файл сертификата. Он также привязывает пару ключей к указанному имени издателя и создает сертификат X.509, который связывает заданное пользователем имя с открытым ключом пары.
Параметры Makecert.exe разделяются на основные и дополнительные. Основные параметры используются при создании сертификатов чаще всего. Дополнительные параметры придают программе гибкость.
Закрытые ключи сертификатов, генерируемые данным инструментом, не предназначены для хранения в SNK-файлах. Если необходимо хранить закрытый ключ, следует использовать для этого контейнер ключа. Дополнительные сведения о хранении закрытого ключа в контейнере ключа см. в разделе Практическое руководство. Хранение асимметричных ключей в контейнере ключей.
Внимание! |
---|
Для безопасного хранения сертификатов следует использовать хранилища сертификатов. В SNK-файлах, используемых данным инструментом, закрытые ключи хранятся без должной защиты. При создании или импорте SNK-файла необходимо обеспечить его безопасность на время использования и удалить по окончании процедуры. |
makecert [options] outputCertificateFile
Аргумент |
Описание |
---|---|
создаваемый_файл_сертификата |
Имя файла с расширением .cer, в который будет записан тестовый сертификат X.509. |
Основные параметры
Параметр |
Описание |
---|---|
-n имя_x509 |
Задает имя сертификата субъекта. Имя должно соответствовать стандарту X.500. Проще всего заключить имя в двойные кавычки и поставить перед ним префикс CN=; например, "CN=myName". |
-pe |
Помечает созданный закрытый ключ как экспортируемый. Это позволит включить закрытый ключ в сертификат. |
-sk имя_ключа |
Задает местонахождение контейнера ключей субъекта, содержащего закрытый ключ. Если контейнер не существует, он будет создан. |
-sr расположение |
Задает местонахождение хранилища сертификатов субъекта. В качестве аргумента расположение можно указать currentuser (по умолчанию)или localmachine. |
-ss хранилище |
Задает имя хранилища сертификатов субъекта, в котором будет храниться созданный сертификат. |
-# число |
Задает порядковый номер в диапазоне от 1 до 2 147 483 647. Значением по умолчанию является уникальное значение, генерируемое программой Makecert.exe. |
-$ заверитель |
Задает заверителя подписи сертификата. Этот параметр может принимать два значения: commercial (для сертификатов, используемых коммерческими издателями программного обеспечения) или individual (для сертификатов, используемых индивидуальными издателями ПО). |
-? |
Выводит синтаксис команд и список основных параметров для этого инструмента. |
-! |
Выводит синтаксис команд и список дополнительных параметров для этого инструмента. |
Дополнительные параметры
Параметр |
Описание |
---|---|
-a алгоритм |
Задает алгоритм подписи. Необходимо указать md5 (по умолчанию) или sha1. |
-b мм/дд/гггг |
Задает начало срока действия сертификата. По умолчанию начало срока действия совпадает с датой создания сертификата. |
-cy тип_сертификата |
Задает тип сертификата. Допустимые значения: end (для конечного субъекта) и authority (для заверителя сертификата). |
-d имя |
Выводит имя субъекта. |
-e мм/дд/гггг |
Задает конец срока действия сертификата. По умолчанию установлено значение 12/31/2039 11:59:59 GMT. |
-eku oid[,oid] |
Вставляет в сертификат список разделенных запятыми идентификаторов объектов (OID) использования расширенного ключа. |
-h число |
Задает максимальное число уровней дерева, исходящего из данного сертификата. |
-ic файл |
Задает файл сертификата поставщика. |
-ik имя_ключа |
Задает имя контейнера ключей поставщика. |
-iky тип_ключа |
Задает тип ключа поставщика: signature, exchange или целое число, обозначающее тип поставщика. По умолчанию можно указать 1 в качестве ключа обмена и 2 в качестве ключа подписи. |
-in имя |
Задает общее имя сертификата поставщика. |
-ip поставщик |
Задает имя поставщика CryptoAPI для поставщика сертификата. |
-ir расположение |
Задает местонахождение хранилища сертификатов поставщика. В качестве аргумента расположение можно указать currentuser (по умолчанию) или localmachine. |
-is хранилище |
Задает имя хранилища сертификатов поставщика. |
-iv файл_pvk |
Задает PVK-файл закрытого ключа поставщика. |
-iy файл_pvk |
Задает тип поставщика CryptoAPI для поставщика сертификата. |
-l ссылка |
Ссылка на политику (например, URL-адрес). |
-m число |
Задает срок действия сертификата в месяцах. |
-nscp |
Включает расширение авторизации клиента Netscape. |
-r |
Создает самозаверяющий сертификат. |
-sc файл |
Задает файл сертификата субъекта. |
-sky тип_ключа |
Задает тип ключа субъекта: signature, exchange или целое число, обозначающее тип поставщика. По умолчанию можно указать 1 в качестве ключа обмена и 2 в качестве ключа подписи. |
-sp поставщик |
Задает имя поставщика CryptoAPI для субъекта. |
-sv файл_pvk |
Задает PVK-файл закрытого ключа субъекта. Если файл не существует, он будет создан. |
-sy тип |
Задает тип поставщика CryptoAPI для субъекта. |
Примеры
Следующая команда создает тестовый сертификат, выданный тестовым корневым центром по умолчанию, и записывает его в файл testCert.cer.
makecert testCert.cer
Следующая команда создает сертификат, выданный тестовым корневым центром по умолчанию, и сохраняет его в хранилище сертификатов.
makecert -ss testCertStore
Следующая команда создает сертификат, выданный тестовым корневым центром по умолчанию, и сохраняет его в хранилище сертификатов. Сертификат явным образом помещается в хранилище currentuser.
makecert -ss testCertStore -sr currentuser
Следующая команда создает тестовый сертификат и записывает его в файл textXYZ.cer, используя указанный контейнер ключей субъекта и имя его сертификата, соответствующее стандарту X.500.
makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer
Следующая команда создает сертификат, выданный тестовым корневым центром по умолчанию, создает PVK-файл и записывает сертификат в хранилище и в этот файл.
makecert -sv testCert.pvk -ss testCertStore testCert.cer
Следующая команда создает сертификат, выданный тестовым корневым центром по умолчанию, создает контейнер ключей и записывает сертификат в хранилище и в этот файл.
makecert -sk myTestKey -ss testCertStore testCert.cer
Следующая команда создает самозаверяющий сертификат, задает имя субъекта "CN=XYZ Company", задает начало и окончание срока действия, помещает ключ в хранилище my, задает ключ обмена и помечает закрытый ключ как экспортируемый.
makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my
Следующие команды создают сертификаты и помещают их в хранилища. Первая команда создает сертификат, используя тестовый корневой центр по умолчанию, и сохраняет сертификат в хранилище. Вторая команда создает еще один сертификат, используя только что созданный сертификат, и сохраняет второй сертификат в другом хранилище.
makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore
Следующие команды создают сертификаты и помещают их в хранилища. Первая команда сохраняет сертификат в хранилище my. Вторая команда создает еще один сертификат, используя только что созданный сертификат. Поскольку в хранилище my имеется более одного сертификата, вторая команда идентифицирует первый сертификат с помощью его общего имени.
makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore
Следующие команды создают сертификаты и записывают их в файлы и хранилища. Первая команда создает сертификат, используя тестовый корневой центр по умолчанию, и сохраняет его в хранилище my и в файле. Вторая команда создает еще один сертификат, используя только что созданный сертификат testCert.cer. Поскольку в хранилище my содержится более одного сертификата, вторая команда однозначно идентифицирует первый сертификат с помощью имени файла сертификата.
makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore
См. также
Ссылки
Средство проверки сертификата издателя программного обеспечения (Cert2spc.exe)