java—使用jks文件和clientid以及头文件中的密钥使用RESTAPI

chhqkbe1  于 2021-07-05  发布在  Java
关注(0)|答案(0)|浏览(370)

我正在尝试使用一个安全的api。
通过在头和证书中提供客户端id/密钥,安全api调用可以很好地与postman api配合使用。
当通过spring以编程方式执行时,我已经从私钥和证书创建了一个keystore(.jks文件)。尝试通过restemplate对api进行post调用(使用json请求体和响应)。

@Bean
    RestTemplate restTemplate() throws Exception {
        SSLContext sslContext = new SSLContextBuilder()
          .loadTrustMaterial(ResourceUtils.getFile("classpath:portal.jks"), "portalpwd".toCharArray())
          .build();
        SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext);
        HttpClient httpClient = HttpClients.custom()
          .setSSLSocketFactory(socketFactory)
          .build();
        HttpComponentsClientHttpRequestFactory factory =
          new HttpComponentsClientHttpRequestFactory(httpClient);
        return new RestTemplate(factory);
    }

但我不能在创建此请求时包含客户端id和密钥,并建议使用上述凭据连接到api的其他更好方法。
感谢您的帮助和支持。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题