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


MakeCert

MakeCert (Makecert.exe) — это средство cryptoAPI командной строки, которое создает сертификат X.509, подписанный корневым ключом системы или другим указанным ключом. Сертификат привязывает имя сертификата к общедоступной части пары ключей. Сертификат сохраняется в файле, системном хранилище сертификатов или обоих.

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

    MakeCert [/b DateStart] [/e DateEnd] [/len KeyLength] [/m nMonths] [/n "Name"] [/pe] [/r] [/sc SubjectCertFile] [/sk SubjectKey] [/sr SubjectCertStoreLocation] [/ss SubjectCertStoreName] [/sv SubjectKeyFile]OutputFile

Частичный список коммутаторов и аргументов

/b DateStart
Указывает дату начала, когда сертификат сначала становится допустимым. Формат DateStart — mm/dd/гггг.

Если параметр /b не указан, дата начала по умолчанию — дата создания сертификата.

/e DateEnd
Указывает дату окончания срока действия сертификата. Формат DateEnd — mm/dd/гггг.

Если параметр /e не указан, дата окончания по умолчанию — 12.31.2039.

/len KeyLength
Задает длину (в единицах битов) закрытого и открытого ключей субъекта.

Если параметр /len не указан, длина ключа по умолчанию составляет 1024 бита.

/m nMonths
Указывает количество месяцев, начиная с даты начала, в течение которой сертификат останется действительным.

/n "Имя"
Указывает имя сертификата. Это имя должно соответствовать стандарту X.500. Самый простой метод — использовать формат CN=MyName.

Если параметр /n не указан, имя сертификата по умолчанию — "Программное обеспечение Emporium Джо".

/pe
Настраивает MakeCert, чтобы сделать закрытый ключ, связанный с экспортируемым сертификатом.

/r
Настраивает MakeCert для создания самозаверяющего корневого сертификата.

/sc SubjectCertFile
Указывает имя файла сертификата субъекта вместе с существующим открытым ключом субъекта, который используется.

/sk SubjectKey
Указывает имя контейнера ключей субъекта, в котором хранится закрытый ключ. Если контейнер ключей не существует, создается новый контейнер ключей. Если параметр /sk и /sv не введен, по умолчанию создается и используется контейнер ключей по умолчанию.

/sr SubjectCertStoreLocation
Указывает расположение реестра хранилища сертификатов. Аргумент SubjectCertStoreLocation должен быть одним из следующих вариантов:

currentUser
Указывает расположение реестра HKEY_CURRENT_USER.

localMachine
Указывает расположение реестра HKEY_LOCAL_MACHINE.

Если параметр /r не указан вместе с параметром /s, currentUser используется по умолчанию.

/ss SubjectCertStoreName
Указывает имя хранилища сертификатов, в котором сохранен созданный сертификат.

/sv SubjectKeyFile
Указывает имя PVK-файла субъекта, который содержит закрытый ключ. Если параметр /sk и /sv не введен, по умолчанию создается и используется контейнер ключей по умолчанию.

OutputFile
Имя файла, в котором сохранен созданный сертификат.

Комментарии

MakeCert поддерживает большое количество коммутаторов. Параметры, описанные в этом разделе, ограничены теми, которые можно использовать для создания тестового сертификата.

Полный список параметров MakeCert см. на веб-сайте MakeCert и веб-сайте Using MakeCert .

32-разрядная версия средства MakeCert находится в папке bin\i386 WDK. 64-разрядная версия средства находится в папках bin\amd64 и bin\ia64 WDK.

Примеры

В следующем примере команда MakeCert создает самозаверяющий сертификат теста с именем "Contoso.com(test)," устанавливает тестовый сертификат в хранилище сертификатов PrivateCertStore и создает файл Testcert.cer, содержащий копию тестового сертификата.

MakeCert -r -pe -ss PrivateCertStore -n "CN=Contoso.com(Test)" testcert.cer