gpt4 book ai didi

具有不同用户证书的 Java Rest 调用

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:31 24 4
gpt4 key购买 nike

我有一组用户证书,我想使用相应的用户证书对用户进行身份验证。

我将服务器配置为启用用户身份验证。它在浏览器中运行良好。如果有多个用户证书,它会提示我选择需要使用的证书。我的问题是,我怎样才能从 Java 做到这一点?我正在使用 RestTemplate 与服务器通信。

如果是单用户证书,我可以将其添加到 Java keystore 中并加以利用。如何将特定用户证书用于特定休息调用?

最佳答案

此处使用的标准术语是“客户端证书”,因此您可能会更幸运地使用谷歌搜索,例如“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);

关于具有不同用户证书的 Java Rest 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37065133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com