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