簡體   English   中英

Spring Boot - 從HTTP請求中讀取x509客戶端證書

[英]Spring Boot - Reading x509 client certificate from HTTP request

如何從客戶端獲得x509證書? 我正在使用Java的Spring-Boot-Framework和嵌入式tomcat。 對於原型設計,我使用Java SE進行了配置:

HttpsExchange httpsExchange =(HttpsExchange)httpReq;

name = httpsExchange.getSSLSession()。getPeerPrincipal()。getName();

用戶在這里給了我一個參考(下面)

@RequestMapping(value = "/grab")
public void grabCert(HttpServletRequest servletRequest) {
    Certificate[] certs = 
            (Certificate[]) servletRequest.getAttribute("javax.servlet.request.X509Certificate");
}

但我無法獲得一些證書! 也許是因為我正在使用tomcat,它正在處理所有SSL-Connections。 所以沒有證書收到我的申請。 我必須做什么才能獲得客戶證書? 客戶端證書用於獲取https連接。 我需要證書主題的一些信息。 謝謝。

你必須從HttpServletRequest獲得它。

您可以檢查此問題的答案: 如何將證書放入X509過濾器(Spring Security)?

不,你不能這樣做。 你需要從HttpServletRequest中獲取它:

 X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate"); 

這是我試圖指向你的帖子,由甘道夫寫的。

這是最初的問題

暫無
暫無

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

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