Могу ли я подписать элемент управления ActiveX с корневым сертификатом? - PullRequest
0 голосов
/ 10 ноября 2010

У меня есть элемент управления ActiveX, который должен быть установлен при первом посещении веб-страницы.

У меня есть самозаверяющий сертификат, созданный с помощью OpenSSL, и его дочерний элемент. Проблема заключается в том, что если я подпишу элемент управления ActiveX с корневым сертификатом, Windows не сможет проверить его при проверке ActiveX, даже если он установлен как доверенный.

пишет, что

"Основное продление сертификата не соблюдено"

и в «Просмотр сертификата»:

«Сертификат недействителен, поскольку одному из центров сертификации в пути сертификации, по-видимому, не разрешено выдавать сертификаты, или этот сертификат нельзя использовать в качестве сертификата конечного объекта».

Если я использую дочерний сертификат для подписи, когда корневой сертификат находится в доверенном состоянии, все будет хорошо.

Я полагаю, что корневой сертификат может подписывать только материалы, связанные с сертификатом, но не файлы и т. Д., Но я хочу быть уверен в этом.

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Я думаю, что это сообщение об ошибке пытается вам сказать, что сертификат, который вы сгенерировали для своего ключа, не содержит правильных расширений сертификата. Для подписи кода требуется сертификат, сгенерированный для подписи кода. Другие виды сертификатов - например, те, которые сгенерированы для подписи данных - подвергаются меньшему контролю со стороны ЦС и поэтому обеспечивают более низкий уровень безопасности, необходимый для подписи кода.

Ваш собственный самоподписанный корневой сертификат должен быть настроен для подписи ключей, а дочерний сертификат должен быть настроен для подписи кода. Тогда ваша подпись ActiveX должна быть в порядке, если ваш корневой сертификат находится в хранилище доверенных ключей браузера. Как правило, сертификат для подписи ключей должен быть установлен only для подписи ключей, а сертификат для подписи кода должен быть установлен op only для подписи кода, поэтому вы не можете использовать их ключи для любых других целей.

Это решение хорошо в организации, где вы можете установить корневой ключ на ПК каждого пользователя заранее. Если вы хотите использовать свой элемент управления ActiveX на веб-странице в общедоступном Интернете, вам придется либо убедить пользователей доверять вашему сертификату (даже если у них нет на то веских причин для этого), либо вам придется купить сертификат для подписи кода. от одного из коммерческих ЦС, корневые сертификаты которого уже известны обычным браузерам.

Наконец, я бы действительно не рекомендовал бы использовать элементы управления ActiveX для всего , поскольку они смогут работать только в Windows, и только в том случае, если им доверяют. Большинству людей, у которых есть какой-либо смысл, будет настроена безопасность браузера, чтобы они их отклоняли. У вас будет гораздо больше успеха в создании вашего активного контента с использованием другой технологии ( например, Javascript)

0 голосов
/ 17 ноября 2010

Использование самозаверяющих сертификатов для цифровой подписи ваших двоичных файлов в значительной степени противоречит концепции использования цифровых сертификатов с программами. Основная идея состоит в том, чтобы доказать, что код был создан вами (подлинность) и не был изменен с тех пор, как вы его выпустили (целостность). Это должно быть сделано с использованием подписанного сертификата, который подписан доверенным центром сертификации (CA).

Я ответил на это немного более подробно на следующий вопрос.

создание ключа и подписание исполняемого файла с помощью signtool

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...