Конфигурация SSL и сертификат X509 в Java и Tomcat 5
Привет я настроил SSL в Tomcat 5.5, запись server.xml, как показано ниже.
**
<Connector port="6922" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
keystoreFile="/home/mrsx/cert/keystore.keystore"
keystorePass="XXXX"
truststoreFile="/home/mrsx/cert/keystore.keystore"
truststorePass="XXXXX" clientAuth="true" sslProtocol="TLS" />
**
Когда CLient пытается получить доступ к приложению, приложение выдает исключение, поскольку параметр "javax.servlet.request.X509Certificate" в запросе имеет значение NULL.
Я создал хранилище ключей и импортировал сертификаты CA в хранилище ключей. Может ли кто-нибудь сказать мне, почему я получаю сертификаты NULL. Я не импортировал клиентские сертификаты в хранилище ключей.
2 ответа
Как отметил @Krroae27, вы включили двухсторонний SSL/TLS:
clientAuth="true"
Делайте это только в том случае, если вы ожидаете, что клиенты будут предоставлять учетные данные с использованием сертификатов. Если вы собираетесь это сделать, вам обычно нужно настроить конфигурацию Realm, такую как tomcat-users.xml, которая будет сопоставлять клиентские сертификаты с локальным принципалом.
Исходя из того, что вы дали выше,
SSLEnabled="истина"заявление отсутствует.
Если это не поможет, попробуйте добавить отладку ssl на стороне клиента, и вы сможете получить более подробную информацию.