ここで使用する標準的な用語は「クライアント証明書」なので、あなたはおそらくそれについてグーグルグーグルが多いでしょう。 "RestTemplateクライアント証明書"。ここで
はanotherスタックオーバーフローの答えから、いくつかのコピー/貼り付けコードです:
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(new FileInputStream(new File("keystore.jks")),
"secret".toCharArray());
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
new SSLContextBuilder()
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
.loadKeyMaterial(keyStore, "password".toCharArray()).build());
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory).build();
ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
httpClient);
RestTemplate restTemplate = new RestTemplate(requestFactory);
ResponseEntity<String> response = restTemplate.getForEntity(
"https://localhost:8443", String.class);
はあなたに@August Lilleaasありがとうございます。特定の通話に特定の証明書を使用したい。リモートサーバーへの同時呼び出しがあります。私はそれぞれの証明書を使う必要があるかもしれません。 – Kajal
厳密に - このコードは、特定のキー/証明書を使用するようにこの特定の要求のみが構成されているlocalhost:8443に対する単一のリクエストを実行する単一のRestTemplateインスタンスを作成する方法を示しています。 –
ありがとうございました。 – Kajal