簡體   English   中英

使用 spring Web 客戶端命中 https Z65E8800B5C6800AAD896F888B2A 服務

[英]Using spring Web Client hit https rest service

I have got two .cer file from client now my goal is to hit client api using https rather than http using spring webclient. 因為我是 spring webclient 的新手,所以不知道該怎么做

我已經使用以下命令在密鑰庫中導入了both.cer

keytool -import -file "C:\Users\ankur\Download\Entrust_Root_Certification_Authority-G2.cer" -keystore "C:\Program Files\Java\jre1.8.0_40\lib\security\cacerts" -storepass "changeit"

keytool -import -file "C:\Users\ankur\Download\certificate\Entrust_Certification_Authority-L1K.cer" -keystore "C:\Program Files\Java\jre1.8.0_40\lib\security\cacerts" -storepass "changeit

我在下面編寫了代碼,以便從 webclient 以編程方式訪問 api

@Bean

       public WebClient createWebClient() throws SSLException {

             SslContext sslContext = SslContextBuilder

                           .forClient()

                           .trustManager(InsecureTrustManagerFactory.INSTANCE)

                           .build();          

             HttpClient httpClient = HttpClient

                           .create()

                           .secure(sslContextSpec -> sslContextSpec.sslContext(sslContext));

                    ClientHttpConnector connector = new ReactorClientHttpConnector(httpClient);

             return WebClient.builder()

                           .clientConnector(connector).build();

       }



application.yml
    rest:
      endpoint:https://someexample.com/xyz

我不知道如何處理.cer 文件在哪里存儲這些.cer 文件我們需要包含在 spring 引導的資源文件夾中嗎?任何示例或鏈接都會有所幫助,謝謝


下面是一種方法,您可以將 ssl 證書配置為webclient

第 1 步:將所需的證書復制到resources文件夾
我們以config/Entrust_Root_Certification_Authority-G2.cer

第 2 步:創建一個屬性以在您的配置之一 class 中配置證書的位置,如下所示

  @Value("${entrust.ssl.cert.path:config/Entrust_Root_Certification_Authority-G2.cer}")
  private String entrustSslCertFilePath;

第 3 步:在創建SslContext時加載這些證書

SslContext sslContext = SslContextBuilder.forClient()
            .trustManager(new ClassPathResource(entrustSslCertFilePath).getInputStream())
            .build();

注意:上面提到的我已經使用了正常工作的pem文件,請嘗試一下,如果需要,請隨時將cer轉換為pem文件, sslshopper將非常有助於驗證和轉換 ssl 證書

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM