2013-04-25 2 views
0

Я хочу, чтобы программа проверила создание SSL-сокетов, используя класс SSLSocket Oracle. В моей программе я хочу, чтобы клиент передал свой сертификат (созданный с использованием Keytool). Сервер должен проверить сертификат, а затем продолжить связь. Я хочу, чтобы сервер проверял сертификат каждого клиента, который подключается к нему. Предположим, что все ключи (серверные и клиентские) хранятся в Keystore. Как это реализовать?Как проверить сертификат с помощью Keytool?

Edit:

Прости меня, если я не в состоянии передать мой вопрос правильно. Я новичок в этом. Я читаю this link, чтобы получить некоторые указания. Здесь, при чтении хранилищ ключей, сервер напрямую запрограммировал ключевое имя файла клиента (а именно «client.public»). Однако в моей программе это будет указано клиентом, так как сервер не может заранее знать, каким будет имя файла открытого ключа клиента.

ответ

1

Вы только что описали, что уже происходит за кулисами. Все, что вам нужно сделать, это создать SSLServerSocket и установить requireClientAuth в true и начать принимать соединения от него, как обычно. JSSE сделает все остальное.

+0

Предположим, у меня есть 10 клиентов, подключающихся к серверу. Как сервер может узнать, какой клиентский сертификат запрашивает у ЦС (в данном случае «Keytool», поскольку он будет управлять всеми сертификатами)? Можете ли вы дать некоторые рекомендации, пожалуйста? – TheRookierLearner

+0

Я не понимаю вопроса. Клиент подключается, отправляет свой сертификат, сервер считывает сертификат и проверяет его на хранилище доверия. Для каждого клиента. За соединение. – EJP

+0

См. Редактирование. – TheRookierLearner

Смежные вопросы