如何在Java中使用Webclient添加CA证书和客户端证书

问题描述

我正在尝试使用Java中的Webclient编写API调用。目前,我在查找有关如何向Webclient添加证书的文档方面遇到麻烦。我既要提供PEM格式的CA证书文件,又要提供其中将提供主机,CRT文件,密钥文件和密码短语的客户端证书。我已经在邮递员中使用了此设置,但是我想将其转移到Java应用程序中。下面是我的代码。

       Gson gson = new Gson();
       LinkedHashMap<String,Object> reqBody
               = new LinkedHashMap<String,Object>();
       LinkedHashMap<String,String> variables
               = new LinkedHashMap<String,String>();
       reqBody.put("variables",variables);



       WebClient webClient = WebClient.builder()
               .baseUrl("sampleurl.com")
               .defaultHeader(HttpHeaders.USER_AGENT,"Spring 5 WebClient")
               .defaultHeader(HttpHeaders.ACCEPT,"application/json")
               .defaultHeader(HttpHeaders.CONTENT_TYPE,"application/json")
               .build();


       return webClient.post()
               .uri("/api")
               .headers(headers -> headers.setBasicAuth("userName","password"))
               .body(Mono.just(reqBody),LinkedHashMap.class)//if directly putting the map doesn't work
               //can also convert to json string then to monoflux
               .retrieve()
               .bodyToMono(String.class);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)