Я довольно HTTPS/SSL/TLS
с HTTPS/SSL/TLS
и меня немного смущает то, что именно клиенты должны представлять при аутентификации с помощью сертификатов.
Я пишу Java-клиент, который должен сделать простой POST
данных для определенного URL
. Эта часть работает нормально, единственная проблема заключается в том, что она должна выполняться через HTTPS
. Часть HTTPS
довольно проста в обращении (либо с HTTPclient
либо с использованием встроенной поддержки HTTPS
Java), но я застрял на аутентификации с помощью клиентских сертификатов. Я уже заметил здесь очень похожий вопрос, который я еще не пробовал с моим кодом (сделаю это достаточно скоро). Моя текущая проблема заключается в том, что - что бы я ни делал - клиент Java никогда не отправляет сертификат (я могу проверить это с помощью дампов PCAP
).
Я хотел бы знать, что именно клиент должен представить серверу при аутентификации с помощью сертификатов (особенно для Java - если это вообще имеет значение)? Это файл JKS
или PKCS#12
? Что должно быть в них; просто сертификат клиента или ключ? Если так, какой ключ? Там довольно много путаницы по поводу всех видов файлов, типов сертификатов и тому подобного.
Как я уже говорил ранее, я новичок в HTTPS/SSL/TLS
поэтому я был бы признателен также за некоторую справочную информацию (это не должно быть эссе; я остановлюсь на ссылках на хорошие статьи).