Подтвердить что ты не робот

Установка атрибутов использования ключа с помощью Makecert

Можно ли установить атрибуты использования ключа с помощью makecert или любого другого инструмента, который я могу использовать для создания собственных тестовых сертификатов?

Я заинтересован в том, что сертификаты, используемые для транспорта BizTalk Server AS2, требуют ключевого использования цифровой подписи для подписи и шифрования данных или шифрования ключа для шифрования/дешифрования, и я хочу поиграть с этой функцией.

Я вижу, как устанавливать расширенные атрибуты использования ключа с помощью makecert, но не использовать ключевые слова.

4b9b3361

Ответ 2

Пока вы не можете сделать самозаверяющий сертификат и установить параметры использования расширенного ключа с помощью makecert, я подумал, что я сэкономил бы всех, чтобы попытаться использовать путь вниз по пути использования OpenSSL для создания сертификата в Windows. Вместо этого вы можете использовать certreq (который доступен, если у вас уже есть makecert), и создайте собственный запрос для установки необходимых параметров.

Например, это устанавливает сертификат с EKU шифрования документов (1.3.6.1.4.1.311.80.1) и ключевыми словами шифрования ключа и шифрования данных.

Создайте новый файл MyCert.inf:

[Version]
Signature = "$Windows NT$"

[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"

[NewRequest]
Subject = "[email protected]"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert

KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"

[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"

Просто установите Subject на все, что вам нужно.

Затем запустите:

certreq -new MyCert.inf MyCert.cer

Это сгенерирует открытый ключ (сертификат X509) и установите его в личный магазин текущего пользователя на машине. Вы можете экспортировать его там, если хотите.

Я использовал это для создания сертификата для шифрования DSC PowerShell для тестирования.

Пример cert

Подробнее: https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New