Я пытаюсь включить веб-приложение, развернутое на JBoss 4.2.3, для проверки подлинности сертификата клиента с использованием CAC, выданного DOD, ActivClient и IE на клиентском компьютере. В качестве доказательства концепции я смог заставить аутентификацию клиентского сертификата работать для консоли JMX, используя программный сертификат (сгенерированный самозаверяющий сертификат, преобразованный в формат PKCS12 и импортированный в IE). Я также могу использовать свой образец (демонстрационный) CAC для аутентификации в TriCare онлайн, предположительно для демонстрационного пользователя.
Однако я попытался экспортировать сертификат из CAC и импортировать его в свое хранилище доверенных сертификатов JKS, используя запись CN в качестве псевдонима (не уверен, что это необходимо или нет), и это просто не работает. В журнале JBoss я получаю сообщение об ошибке «Нулевой сертификат в цепочке», и клиенту не предлагается выбрать сертификат или ввести PIN-код. Моя лучшая теория заключается в том, что у меня нет сертификата в хранилище доверенных сертификатов, поэтому он не знает, какой сертификат запрашивать у клиента, но я не знаю, как подтвердить это подозрение или что может быть не так.
Упростит ли этот процесс использование JBoss с Apache? (Это внутреннее приложение, поэтому мы просто позволили JBoss быть веб-сервером.)
Поможет ли обновление до менее древней версии JBoss?
Существуют ли операторы отладки, которые я мог бы включить где-нибудь, что дало бы мне более четкое представление о том, что происходит?
Есть ли где-нибудь пошаговая документация? Как получить экспертизу в этом? Я собирал свое решение на основе онлайн-документов JBoss 4, «JBoss в действии», «Основные шаблоны безопасности» и некоторых вопросов и ответов, которые касаются этой проблемы здесь, в SO.
Любая помощь будет принята с благодарностью!