簡體   English   中英

Spring 啟動 SSL 客戶端-服務器通信

[英]Spring Boot SSL Client-Server Communication

我對 Spring Boot 和 SSL 比較陌生。 我開發了一個 SSL rest web 服務器與服務器密鑰庫私鑰服務器 CA並正確處理相互 X.509 證書身份驗證。 我已經測試過,HTTPS 請求與 Postman 以及 Python 客戶端和一切正常工作,服務器和客戶端都成功地交換和驗證彼此的證書。

但我的情況有點不同,

我已經創建了一個 Postgresql 數據庫並將其連接到我的 spring 啟動應用程序,並且我已經創建了具有特定 ID 號的表的實體以及 REST 端點,您可以創建這些端點等,

所以我的情況如下;

  1. Python 客戶端帶有特定的 ID 號,並向一個 REST 端點發出請求,該端點可供所有人使用(服務器允許)。
  2. Spring 引導服務器檢查數據庫中的 ID 號,並為 Python 客戶端(我現在卡住了。)創建客戶端證書並將此證書發送給客戶端。
  3. 發送客戶端證書后,客戶端可以使用它並與證書通信服務器

所以問題來了;

是否可以在 java 的運行時創建客戶端證書? 如果是,我如何創建它並發送回客戶?

感謝您的時間和回復。

我找到了解決方案。 如果有人需要類似的解決方案,您可以執行以下步驟;

  1. 在 spring 引導中創建公共端點,您可以使用給定的 ID 號
  2. 與您的數據庫進行比較,如果它存在 id 號,則調用 an.sh 文件(使用過程)
  3. 在此.sh 文件中,使用 openssl 命令生成密鑰,從密鑰中刪除密碼(如果您使用過),創建客戶端證書請求並最終簽署證書。
  4. 最后將此簽名證書和私鑰發送回客戶端。

畢竟,您的客戶可以將您的簽名證書與私鑰一起使用並使用您的安全端點。

暫無
暫無

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

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