makecert выдает «Не удалось получить поставщика безопасности из сертификата эмитента» - почему? - PullRequest
3 голосов
/ 27 февраля 2011

Уважаемые дамы и господа.Обратите внимание на этот простой пакетный файл:

makecert -n "CN=MyCA" -sr localmachine -ss root -a sha1 -cy authority -r -sv MyCA.pvk MyCA.cer
del MyCA.pvk
del MyCA.cer
makecert -n "CN=il-mark-lt" -sr localmachine -ss my -cy end -pe -sky exchange -a sha1 -is root -ir localmachine -in MyCA

Однако последний makecert завершается неудачно со следующим сообщением об ошибке:

Error: Fail to acquire a security provider from the issuer's certificate

Как мне устранить его?Есть идеи?Кстати, первый makecert удается.Конечно, я снова его удаляю, прежде чем снова запустить команды.

Спасибо.

EDIT1

Я понял причины сбоя.Вторая команда ожидает, что файл MyCA.pvk существует, но я не хочу его хранить.Итак, что я могу сделать?

Ответы [ 3 ]

2 голосов
/ 28 февраля 2011

Просто пропустите часть -sv MyCA.pvk. Он по-прежнему должен генерировать закрытый ключ и хранить его как обычно, а не как файл pvk, и он должен быть найден по makecert ... -in MyCA. 1

0 голосов
/ 11 октября 2018

Проблема в первой команде: вы создаете самозаверяющий сертификат и добавляете его в хранилище доверенных корней учетной записи локального компьютера (но вы, вероятно, знаете это).Но вы также создаете файлы для открытого и закрытого ключей для сертификата, файлы .pvk и .cer.

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

Если вы не указали имена файлов для закрытого и открытого ключей в первой команде, т.е. не включали -sv MyCA.pvkПараметр и MyCA.cer, открытый и закрытый ключи будут добавлены в хранилище.Это означает, что вам не нужно удалять файлы, потому что они не будут сгенерированы.

Также, если вы откроете консоль управления, нажмите [WIN] + [R], введите mmc [Return], перейдите в File-> Добавить / удалить оснастку -> Выбрать «Сертификаты» -> «Добавить» -> «Учетная запись компьютера», а затем перейдите по дереву к «Надежные корневые сертификаты \ Сертификаты». MyCA находится на левой панели.Вы увидите небольшую клавишу на значке, и если дважды щелкнуть сертификат, в нижней части вкладки «Общие» появится сообщение «У вас есть закрытый ключ, соответствующий этому сертификату».Это означает, что вы можете использовать этот сертификат для подписи нового, как вы пытаетесь выполнить с помощью второй команды.

0 голосов
/ 17 сентября 2018

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

...