2012-09-04 5 views
4

Я пытаюсь создать самоподписанный сертификат CA на 32-битной Windows 7 (виртуальный). makecert v7.1 находится в C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin>.Создание самоподписанного сертификата CA с помощью makecert.exe

Всякий раз, когда я пытаюсь выполнить эту команду (повышенные) ...

makecert.exe -r -n “CN=MyCert CA” -pe -sv MyCert.pvk -a sha1 -len 2048 
      -b 09/04/2012 -e 09/04/2018 -cy authority MyCert.cer 

... Я получаю запрос на ввод пароля, но когда я подтвердить это я получаю:

Error: CryptCertStrToNameW failed => 0x80092023 (-2146885597) Failed

Любая помощь быть оцененным.

С уважением.

ответ

13

Я скопировал вашу команду в командную строку и получил ту же ошибку. Однако я перепечатал команду, и она сработала. Я подозреваю, что один из символов в аргументе имени "CN=MyCert CA" является специальным символом, возможно скопированным из текстового процессора.

+0

Я скопировал текст из блокнота. Но я попробовал несколько разных имен для CA (включая без пробелов), но не помог. Переделать всю команду сделал трюк. – no9

+0

Для тех, кто оказался здесь, как и я, - если вы копируете с веб-сайта, у вас наверняка есть однообразные фигурные кавычки (например, OP - проверьте кавычки вокруг его CN) вместо правильной версии ascii: « – Will

11

Это старый вопрос, но, похоже, вы используете текстовые процессоры «умные кавычки», а не двойные кавычки ASCII.

Так что проблема не в makecert, а в том, как вы ввели команду. Командная оболочка Windows, cmd.exe, не видит “CN=MyCert CA” в качестве цитируемого слова. Вместо этого он видит два простых слова: “CN=MyCert и CA”, причем «умные кавычки» являются частью слова.

  • ASCII-прямые двойные кавычки, " имеет точку кода U + 0022 (он же '\ x22' в C# или C).
  • Левый двойной «умные» цитаты», имеет код из U + 201C (он же„\ u201C“в C#).
  • Право двойной„умный“цитатой, имеет точку кода U + 201D (он же '\ u201d' в C#).

И, таким образом, ошибка.

+0

спасибо за освобождение – no9

1

вы также можете получить ту же ошибку, если вы не имеете CN = именем.

Для Например, у меня была эта ошибка с -n "My Name", но она преуспела с -n "CN=My Name"

 Смежные вопросы

  • Нет связанных вопросов^_^