Среда выполнения Java или, в частности, поставщик JSSE Sun, представит сертификат клиента, если установлены некоторые системные свойства. Вы можете прочитать подробности в Справочном руководстве JSSE, , но важными свойствами являются javax.net.ssl.keyStore
и javax.net.ssl.keyStorePassword
.
У этого подхода есть несколько недостатков. Во-первых, установка пароля хранилища ключей в качестве системного свойства делает его доступным для любого кода, выполняемого в этом процессе - хотя это можно контролировать, если установлен SecurityManager
. Во-вторых, эти настройки будут использоваться для любых сокетов SSL, созданных через «default» SSLContext
. Если вам нужны разные учетные данные для разных конечных точек, вам понадобится решение, ориентированное на Mirth.
Не указана начальная точка в вопросе, но если начать с нуля, самый простой подход - создать новое хранилище ключей Java (формат "JKS") и сгенерировать новую пару ключей и CSR. После отправки CSR в CA и получения сертификата обратно импортируйте его в то же хранилище ключей. Это хранилище ключей готово к использованию.
Если сертификат уже доступен, он, вероятно, будет храниться с соответствующим закрытым ключом в формате PKCS # 12 (файл .p12 или .pfx). Они могут использоваться непосредственно приложением Java, но для свойства javax.net.ssl.keyStoreType
должно быть установлено значение "PKCS12"