Любой может подключиться к моему сервису, несмотря на использование SSL - PullRequest
0 голосов
/ 18 июня 2019

Я создал сервлет Java. Мне нужно разместить его с помощью двустороннего соединения SSL. Для этого мне предоставили два файла .cer. Я создал хранилище ключей Java для использования с Apache tomcat для развертывания моего сервлета. Мой server.xml для соединения https читает

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="30580" keystoreFile="SSLConnect.jks" keystorePass="$Actual 
password" protocol="org.apache.coyote.http11.Http11NioProtocol" 
scheme="https" secure="true" sslProtocol="TLS" />

и

Я также включил https в сервлете, добавив

<security-constraint>
<web-resource-collection>
    <web-resource-name>securedapp</web-resource-name>
    <url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

в файл web.xml.

Несмотря на все это, любой может подключиться к службе, используя URL-адрес, на котором я развернул службу. Вам не нужны сертификаты для подключения к URL, так как SSL включен через https? Я что-то здесь не так делаю?

1 Ответ

0 голосов
/ 17 июля 2019

Вам нужно установить clientAuth="true", а не clientAuth="false".

...