Когда вы говорите "есть более простой способ ... доверять этому сертификату", это именно то, что вы делаете, добавляя сертификат в ваше хранилище доверенных сертификатов Java. И это очень, очень легко сделать, и вам ничего не нужно делать в клиентском приложении, чтобы распознать или использовать хранилище доверия.
На вашем клиентском компьютере найдите, где находится ваш файл cacerts (это ваше хранилище доверенных сертификатов Java по умолчанию, которое по умолчанию расположено в /lib/security/certs/cacerts.
.
Затем введите следующее:
keytool -import -alias <Name for the cert> -file <the .cer file> -keystore <path to cacerts>
Это импортирует сертификат в ваше хранилище доверенных сертификатов, и после этого ваше клиентское приложение сможет без проблем подключаться к вашему HTTPS-серверу Grizzly.
Если вы не хотите импортировать сертификат в ваше хранилище доверенных сертификатов по умолчанию - то есть вы просто хотите, чтобы он был доступен для этого одного клиентского приложения, но не для чего-либо еще, что вы запускаете на JVM на этом компьютере - тогда вы можете создать новый магазин доверия только для вашего приложения. Вместо передачи keytool пути к существующему файлу cacerts по умолчанию, передайте keytool путь к новому файлу хранилища доверенных сертификатов:
keytool -import -alias <Name for the cert> -file <the .cer file> -keystore <path to new trust store>
Вам будет предложено установить и подтвердить новый пароль для файла хранилища доверенных сертификатов. Затем при запуске клиентского приложения запустите его со следующими параметрами:
java -Djavax.net.ssl.trustStore=<path to new trust store> -Djavax.net.ssl.trustStorePassword=<trust store password>
Легко, сырный, правда.