Ошибка при создании сертификата с помощью командной строки Windows SDK 7.1

Я - новый администратор с очень небольшим опытом, пытаюсь настроить мою ADFS для взаимодействия с решением единой регистрации для облачного программного обеспечения службы поддержки, которое будет использоваться внутри моей организации. Я установил пакет Windows 7.1 SDK на Server 2012 и сейчас пытаюсь создать сертификат. Руководство в формате PDF теперь дает указание ввести следующие команды в командную строку Windows SDK 7.1:

makecert -r -pe -n "CN=adfs.yourdomain.com" -b 01/01/2013 -e 01/01/2014 -sky exchange Server.cer
  -sv Server.pvk

(Вместо "adfs.yourdomain.com" введите полное имя системы AD FS в приведенной выше команде)

pvk2pfx.exe -pvk Server.pvk -spc Server.cer -pfx Server.pfx

После ввода команды 1.) я ввожу пароль, когда мне будет предложено это сделать. Затем я ввожу 2.), и в этот момент мне выдается следующее сообщение об ошибке:

ERROR: File not found
Error Code = 0x80070002

У меня двоякий вопрос: во-первых и наиболее прямо, что здесь происходит и как мне решить эту проблему? Во-вторых, и в целом, какие ресурсы мне доступны для ознакомления с этими неясными в настоящее время командами? Я имею в виду, я даже не знаю, что я печатаю...

2 ответа

Решение

Ознакомьтесь с разделом " Как: создать свой собственный тестовый сертификат".

В статье объясняется, что означают все параметры.

например, cn - имя субъекта вашего сертификата, b действителен с, e действителен до и т. д.

Или обратитесь к полной документации MSDN - Makecert.exe (инструмент для создания сертификатов).

По сути, вы создаете сертификат и затем преобразуете его в файл pfx (это тип файла сертификата, который также содержит закрытый ключ).

Если вы используете IIS для ADFS (то есть не 2012 R2), то вы можете сделать это с IIS - Как создать самозаверяющий сертификат в IIS 7

Благодаря nzpcmad, который предоставил мне ресурс для понимания того, как работает командная строка, я смог предоставить решение своей проблемы, которое, я надеюсь, другие могут использовать в будущем:

Командная строка требует, чтобы все исполняемые файлы, включенные в команды, находились в каталоге, для которого установлена ​​командная строка. (Вы можете увидеть каталог, в котором установлена ​​командная строка, просто посмотрев на текст перед знаком ">"). Поэтому в этой конкретной ситуации требуется, чтобы makecert.exe и pvk2pfx.exe находились в одной папке каталога, чего нет в командной строке Windows SDK 7.1 по умолчанию - она ​​находится в папке Bin в командной строке по умолчанию.

Я создал папку в C:/ под названием "MakeCert". Затем я нашел две исполняемые программы, необходимые для запуска их соответствующих команд - т.е. makecert.exe для запуска команды 'makecert' и pvk2pfx.exe для запуска команды 'pvk2pfx' - в пути к файлу "C:\Program Файлы \Microsoft SDKs\Windows\v7.1\Bin". Затем я поместил эти два исполняемых файла в папку "C:/MakeCert", которую создал. Наконец, я использовал команду командной строки "cd C:/MakeCert", которая переводит каталог (cd) в папку C:/MakeCert.

Это изменило каталог со стандартным путем "C:\Program Files\Microsoft SDKs\Windows\v7.1" и предоставило каталог с обоими необходимыми мне файлами.exe, а также место для размещения моих созданных файлов сертификатов. Больше нет ошибки "Файл не найден".

Другие вопросы по тегам