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

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

/bDateStart
Указывает дату начала, когда сертификат впервые станет действительным. Формат DateStart — мм/дд/гггг.

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

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

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

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

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

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

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

Если параметр /n не указан, по умолчанию сертификат имеет имя "Joe's Software Emporium".

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

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

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

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

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

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

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

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

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

/svSubjectKeyFile
Указывает имя 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