PVK2PFX Ошибка 0x80070490 - Не удается найти сертификаты, которые соответствуют ключу
Мы получили наш новый файл сертификата (*.cer) от Thawte, и я прошел стандартные процедуры, чтобы разрешить его использование с подписью кода.
Если я использую наш старый (рабочий) сертификат:
Преобразование сертификата (.cer) в сертификатпубликации программного обеспечения (.spc)
>Cert2Spc.exe Avatar.cer Avatar.spc Succeeded
Объедините наш файл закрытого ключа (*.pvk) с SPC в PFX:
>pvk2pfx.exe -pvk Avatar.pvk -spc Avatar.spc -pfx Avatar.pfx -f
запрашивает пароль файла секретного ключа, введите его, нажмите ОК
И мы готовы идти; готов к использованиюsigntool
,
Теперь у нас естьновый сертификат, и я следую той же процедуре:
Преобразование сертификата (.cer) в сертификатпубликации программного обеспечения (.spc)
>Cert2Spc.exe Avatar.cer Avatar.spc Succeeded
Объедините наш файл закрытого ключа (*.pvk) с SPC в PFX:
>pvk2pfx.exe -pvk Avatar.pvk -spc Avatar.spc -pfx Avatar.pfx -f
запрашивает пароль файла секретного ключа, введите его, нажмите ОК
ERROR: Cannot find certificates that match the key. (Error Code = 0x80070490).
Что не так?
Заметки:
- мы использовали один и тот же файл закрытого ключа (*.pvk) в течение десятилетия
- в этом году Thawte дал нам 2-летний сертификат; а не обычный 1 год
- В этом году Thawte изменил свой сертификат подписи
Thawte Code Signing CA
вThawte Code Signing CA - G2
- Google говорит, что никто никогда не получал ошибку. Не удается найти сертификаты, соответствующие ключу.
Windows SDK содержит только две ссылки на код ошибки
0x80070490
:Заголовочный файл Visual Foxpro для Windows (
vfwmsgs.h
):// // MessageId: E_PROP_ID_UNSUPPORTED // // MessageText: // // The specified property ID is not supported for the specified property set.%0 // #define E_PROP_ID_UNSUPPORTED ((HRESULT)0x80070490L)
Который почти наверняка красная сельдь; Foxpro?
закомментированный код в образце заставки RSS (
RssItem.cs
)// "Element not found. (Exception from HRESULT: 0x80070490)"
Также почти наверняка красная сельдь; XML?
- десятичная версия
0x80070490
является-2147023728
1 ответ
Оказывается, в этом году нам дали новый закрытый ключ.
Ну, у вас нет личного ключа, сертификат + ключ извлекается через браузер и сохраняется в хранилище сертификатов. Оттуда мы можем экспортировать .PFX
(A pfx
содержит сертификат и закрытый ключ).
С этим PFX, экспортированным из хранилища сертификатов браузера, мы можем использовать его напрямую для подписи кода signtool
,
Примечание: мы были на самом деле обжорством для наказания и прошли через шаги:
+--[.pfx]---+ +--[.cer]---+ +--[.spc]---+ +--[.pfx]---+
|Certificate|====>|Certificate|====>|Software |=========> |Certificate|
| + | +-----------+ |Publishing | | + |
|Private Key|==+ + |Certificate| +=====> |Private Key|
+-----------+ | +-----------+ | +-----------+
| |
| |
| +--[.pem]---+ +--[.pvk]---+ |
+=>|Private Key| ==> |Private Key|===+
+-----------+ +-----------+
Но все, что дал нам этот маршрут, было файлом с секретным ключом (*.pvk
) который не был защищен паролем; так signtool
может работать без взаимодействия с пользователем.
Но ответ на этот вопрос был следующим: закрытый ключ не соответствует сертификату.