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