У вас довольно много вопросов по этой теме. Этот ответ относится ко всем из них.
Во-первых: ваши проблемы с использованием SunMSCAPI вызваны неудачной комбинацией запроса CSP Entrust для запроса пароля, когда это не нужно, и SunMSCAPI, использующего немного странный способ решить, имеет ли сертификат соответствующий закрытый ключ. Можете ли вы получить Entrust, чтобы исправить их CSP?
Второе: если вы не можете заставить Entrust исправить их CSP, вам лучше всего выбрать Java и JNI. Я вижу, что ты попробовал это, но сдался. Это возможно - это, вероятно, доставит вам головную боль, но на самом деле это единственное жизнеспособное кросс-браузерное решение. Конечно, если вы можете жить с решением только для Internet Explorer (вы упомянули CAPICOM), вы можете реализовать свой собственный ActiveX / COM-объект с нужной вам функциональностью.