JKS, CER, проблема SignCode
В настоящее время у меня возникла интересная проблема с подписью EXE-файла с помощью инструмента SignCode от Microsoft и сертификата (от GlobalSign)...
Итак, мы купили новый сертификат, так как срок действия текущего сертификата истекает в ближайшее время. Оригинальный формат JKS. Я экспортировал этот сертификат из.JKS в.CER, чтобы установить его на локальный компьютер в разделе "Корневые доверенные сертификаты". Я установил его, и если я открою certmgr.msc, я смогу его увидеть, но если я открою Панель управления -> Свойства обозревателя -> Содержимое -> Сертификаты -> Корневые доверенные сертификаты и т. Д., То я не смогу его увидеть... Я думал, что это должно быть и здесь.
Когда я запускаю инструмент signcode.exe, я получаю сообщение об ошибке "невозможно открыть провайдер csp с правильным закрытым ключом".
Заметка! Команда signcode.exe верна, потому что она работает, если я тестирую со старым сертификатом.
Пожалуйста, порекомендуйте.
Заранее спасибо! саржа
2 ответа
Я прочитал некоторую документацию о сертификатах и наконец решил проблему.
Сертификат JKS, купленный моей компанией, был случайно поврежден.
Я потратил много времени на экспорт закрытого ключа из JKS и попросил администраторов проверить JKS, и они подтвердили, что он поврежден. Понятия не имею, как это было повреждено... Итак, мы получили еще один сертификат, который был в порядке.
Я бы порекомендовал всем, кто имеет дело с сертификатами (хранилище ключей Java и т. Д.), Использовать KeyTool IUI. Это многое упрощает...
И в случае, если вам нужно экспортировать закрытый ключ в совместимый сертификат Windows, я бы рекомендовал прочитать эту статью - http://travisspencer.com/blog/2009/10/exporting-keys-from-a-jks-and.html,
Обратите внимание, что сертификаты (включая закрытые ключи) должны быть установлены на локальном компьютере, но не на текущем пользователе, как это по умолчанию. Используйте команду MMC, чтобы сделать это.
Я надеюсь, что эта информация будет полезна для тех, кто будет иметь такую же проблему.
С уважением, Серж
Вы можете обойти эту проблему, используя Jsign, это Java-реализация инструмента signcode, который работает с хранилищами ключей Java. Не нужно конвертировать ваши сертификаты.