Меню Рубрики

Makecert exe windows 7

MakeCert

MakeCert (Makecert.exe) is a command-line CryptoAPI tool that creates an X.509 certificate that is signed by a system test root key or by another specified key. The certificate binds a certificate name to the public part of the key pair. The certificate is saved to a file, a system certificate store, or both.

MakeCert supports a large number of switches but this section only describes the basic switches that are relevant to creating a test certificate that can be used to test-sign a driver package or embed a signature in a driver file.

Partial list of switches and arguments

/b DateStart
Specifies the start date when the certificate first becomes valid. The format of DateStart is mm/dd/yyyy.

If the /b switch is not specified, the default start date is the date when the certificate is created.

/e DateEnd
Specifies the end date when the certificate’s validity period ends. The format of DateEnd is mm/dd/yyyy.

If the /e switch is not specified, the default end date is 12/31/2039.

/len KeyLength
Specifies the length, in units of bits, of the subject’s private and public keys.

If the /len switch is not specified, the default key length is 1024 bits.

/m nMonths
Specifies the number of months starting from the start date during which the certificate will remain valid.

/n «Name«
Specifies a name for the certificate. This name must conform to the X.500 standard. The simplest method is to use the «CN=MyName» format.

If the /n switch is not specified, the default name of the certificate is «Joe’s Software Emporium».

/pe
Configures MakeCert to make the private key that is associated with the certificate exportable.

/r
Configures MakeCert to create a self-signed root certificate.

/sc SubjectCertFile
Specifies the subject’s certificate file name along with the existing subject public key that is used.

/sk SubjectKey
Specifies the name of the subject’s key container that holds the private key. If a key container does not exist, a new key container is created. If neither /sk nor /sv switch is entered, a default key container is created and used by default.

/sr SubjectCertStoreLocation
Specifies the registry location of the certificate store. The SubjectCertStoreLocation argument must be either of the following:

currentUser
Specifies the registry location HKEY_CURRENT_USER.

localMachine
Specifies the registry location HKEY_LOCAL_MACHINE.

If the /r switch is not specified along with the /s switch, currentUser is the default.

/ss SubjectCertStoreName
Specifies the name of the certificate store where the generated certificate is saved.

/sv SubjectKeyFile
Specifies the name of the subject’s .pvk file that holds the private key. If neither /sk nor /sv switch is entered, a default key container is created and used by default.

OutputFile
The name of the file in which the generated certificate is saved.

Comments

MakeCert supports a large number of switches. The switches described in this topic are limited to the ones that you can use to create a test certificate.

For a complete list of MakeCert parameters, see the MakeCert website and the Using MakeCert website.

A 32-bit version of the MakeCert tool is located in the bin\i386 folder of the WDK. A 64-bit version of the tool is located in the bin\amd64 and bin\ia64 folders of the WDK.

Источник

АйТиБложик

Маленький IT блог с характером 1С.

Страницы

Поиск по блогу

вторник, 3 марта 2015 г.

Создание временного сертификата для использования во время разработки

Что такое MakeCert

MakeCert — инструмент для создания сертификатов X.509, которые предназначены исключительно для тестирования разрабатываемого приложения. Этот инструмент создает пару ключей(открытый и закрытый) для цифровой подписи и помещает её в файл сертификата.

MakeCert входит в состав пакета Windows SDK, который можно скачать с http://go.microsoft.com/fwlink/p/?linkid=84091. Если вам не хочется устанавливать целый пакет разработчика, то вот ссылка на сам файл.

Создание временного сертификата

MakeCert — это консольное приложение. Для работы с ним необходимо запустить командную строку(от имени Администратора) и ввести команду запуска приложения с указанными параметрами: makecert [options] outputCertificateFile, где outputCertificateFile — имя файла с расширением .cer, в который будет записан тестовый сертификат X.509, options — параметры создания сертификата.
Описание параметров приведено на сайте MSDN по этой ссылке.

Пример вызова makecert.exe: makecert -sk XYZ -n «CN=XYZ Company» testXYZ.cer

Что бы создать временный сертификат, необходимо выполнить два действия. Первое — создать самозаверяющий сертификат, который будет использоваться в качестве корневого сертификата для временного сертификата. Второе — создать сам временный сертификат, подписанный корневым сертификатом.

Создание самозаверяющего сертификата корневого центра и экспорт закрытого ключа

Выполняем в командной строке:
makecert -n «CN=TempCert» -r -sv TempCert.pvk TempCert.cer

Создание самозаверяющего сертификата
  • -n (subjectName) — задает имя субъекта. Согласно правилам, к имени субъекта добавляется префикс «CN = » для «Common Name»;
  • -r — указывает, что сертификат самозаверяющий;
  • -sv (privateKeyFile) — указывает файл, содержащий контейнер закрытого ключа. То есть закрытый ключ будет храниться не в сертификате, а в файле. Он нам еще пригодится.

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

Источник

Как создать самоподписанный сертификат в Windows

Большинству администраторов Windows, знакомых с темой PKI, известна утилита MakeCert.exe, с помощью которой можно создать самоподписанный сертификат. Эта утилита включена в состав Microsoft .NET Framework SDK и Microsoft Windows SDK. В Windows 8 и Windows Server 2012 появилась встроенная возможность создания самоподписанного сертификата средствами PowerShell 3.0 и выше без использования специальных утилит.

Использование командлета New-SelfSignedCertificate для создания сертфикатов

Для создания самоподписанного сертификата в PowerShell предлагается использовать командлет New-SelfSignedCertificate, входящий в состав модуля PoSh с именем PKI (Public Key Infrastructure).

Чтобы вывести список всех доступных командлетов в модуле PKI, выполните команду:

Get-Command -Module PKI

Самоподписанные сертификаты рекомендуется использовать в тестовых целях или для обеспечения сертификатами внутренних интранет служб (IIS, Exchange, Web Application Proxy, LDAPS, ADRMS, DirectAccess и т.п.), в тех случая когда по какой-то причине приобретение сертификата у внешнего провайдера или разворачивание инфраструктуры PKI/CA невозможны.

Для создания сертификата нужно указать значения DnsName (DNS имя сервера, имя может быть произвольным и отличаться от имени localhost) и CertStoreLocation (раздел локального хранилища сертификатов, в который будет помещен сгенерированный сертификат). Командлет можно использовать для создания самоподписанного сертификата в Windows 10 (в нашем примере), Windows 8/8.1 и Windows Server 2016/2012/2012 R2.

Чтобы создать сертификат для DNS имени test.contoso.com и поместить его в список персональных сертификатов компьютера, выполним команду:

New-SelfSignedCertificate -DnsName test.contoso.com -CertStoreLocation cert:\LocalMachine\My

Directory: Microsoft.PowerShell.Security\Certificate::LocalMachine\My
Thumbprint Subject
———- ——-
2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 CN=test.contoso.com

По-умолчанию генерируется самоподписанный сертификат со следующим настройками:

  • Криптографический алгоритм: RSA;
  • Размер ключа: 2048бит;
  • Допустимые вариантов использования ключа: Client Authentication и Server Authentication;
  • Сертификат может использоваться для: Digital Signature, Key Encipherment ;
  • Срок действия сертификата: 1год.

Данная команда создаст новый сертификат и импортирует его в персональное хранилище компьютера. Открыв оснастку certlm.msc, проверим, что в разделе Personal хранилища сертификатов компьютера появился новый сертификат.

$todaydate = Get-Date
$add3year = $todaydate.AddYears(3)
New-SelfSignedCertificate -dnsname test.contoso.com -notafter $add3year -CertStoreLocation cert:\LocalMachine\My

Чтобы экспортировать полученный сертификат c закрытым ключом в pfx файл, защищенный паролем, нам понадобится его отпечаток (Thumbprint), который нужно скопировать из результатов выполнения команды New-SelfSignedCertificate:

$CertPassword = ConvertTo-SecureString -String “YourPassword” -Force –AsPlainText

Export-PfxCertificate -Cert cert:\LocalMachine\My\2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 -FilePath C:\test.pfx -Password $CertPassword

Можно экспортировать открытый ключ сертификата:

Export-Certificate -Cert Cert:\LocalMachine\My\2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 -FilePath C:\testcert.cer

Полученный открытый ключ или сам файл сертификата можно установить на веб-сервер или клиентах домена с помощью GPO (пример установки сертификата на ПК с помощью групповых политик).

Одной из полезных возможностей командлета New-SelfSignedCertificate является возможность создать сертификат с несколькими различными именами Subject Alternative Names (SAN).

К примеру, создадим сертификат, у которого указаны следующие имена:

  • Subject Name (CN): adfs1.contoso.com
  • Subject Alternative Name (DNS): web_gw.contoso.com
  • Subject Alternative Name (DNS): enterprise_reg.contoso.com

Команда создания сертификата будет такой:

New-SelfSignedCertificate -DnsName adfs1.contoso.com,web_gw.contoso.com,enterprise_reg.contoso.com -CertStoreLocation cert:\LocalMachine\My

Также можно выписать сертификат для всего пространства имен в домене, для этого в качестве имени сервера указывается *.contoso.com.

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname *.contoso.com

Создаем самоподписанный сертфикат типа Code Signing для подписывания кода

В PoweShell 3.0 командлет New-SelfSifgnedCertificate генерировал только SSL сертификаты, которые нельзя было использоваться для подписывания кода драйверов и приложений (в отличии сертификатов, генерируемых утилитой MakeCert).

В PowerShell 5 новая версия командлета New-SelfSifgnedCertificate теперь может использоваться для выпуска сертификатов типа Code Signing.

Для создания самоподписанного сертфиката для подписывания кода приложений, выполните команду:

$cert = New-SelfSignedCertificate -Subject «Cert for Code Signing” -Type CodeSigningCert -CertStoreLocation cert:\LocalMachine\My

Set-AuthenticodeSignature -FilePath C:\PS\test_script.ps1 -Certificate $cert

Если при выполнении команды появится предупреждение UnknownError, значит этот сертификат недоверенный, т.к. находится в персональном хранилище сертификатов пользователя.

Move-Item -Path $cert.PSPath -Destination «Cert:\CurrentUser\Root»

После этого вы можете подписать свой PowerShell скрипт с помощью данного самоподписанного сертификата.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Make windows 7 look windows xp
  • Mak ключи для windows что это
  • Mak ключи для windows server 2008 r2
  • Mak ключ windows 7 pro
  • Mak keys windows server 2008 r2