私はこれをカスタムJavaキーストアを使用して動作させました。ここに私のコードだ:
CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
final SSLContext sslContext = SSLContexts.custom()
.loadTrustMaterial(new File("my_keystore.jks"), keystorePassword.toCharArray(),
new TrustSelfSignedStrategy())
.build();
RestClient client = RestClient.builder(new HttpHost(host, port, scheme)).setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder
.setDefaultCredentialsProvider(credentialsProvider)
.setSSLContext(sslContext)
).build();
キーストアを作成するには、私は、Firefox経由でドメインのための証明書をダウンロードして、使用:
keytool -import -v -trustcacerts -file my_domain.crt -keystore my_keystore.jks -keypass password -storepass password
独自のキーストアが実際に推奨される使用します。標準のJavaランタイムcacertsファイルも使用できます。カスタムSSLContextは必要ありませんが、そのファイルは各ランタイムアップデートで上書きされます。 – Gimby