簡體   English   中英

在本地Spring和Node.js應用之間創建SSL連接

[英]Create a SSL connection between spring and nodejs apps locally

我有兩個應用程序,一個是用nodejs(在這種情況下是簡單的模擬服務器)和spring應用程序(核心應用程序)編寫的。 我想在這兩者之間創建SSL連接。 首先,我生成了一對密鑰和證書,然后簡單地設置了一個nodejs以通過SSL工作(我使用了這個示例: 設置SSL-nodeJs )。 我已經檢查過,當我在瀏覽器https:// localhost:3000中編寫時,它為我提供了“安全”連接(使用開放式掛鎖-沒關系)。

接下來,我使用設置SSL-Spring在spring應用程序上進行配置。 我從上一步生成的證書中獲取了一個證書,並將其設置在密鑰庫中的.p12文件中。 在春季應用程序中,我將節點應用程序的URL更改為https。

當我嘗試從spring應用程序連接並從節點獲取一些模擬數據時,我得到了這個stacktrace:

Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我在堆棧中找到了一些東西,但是當我在特定目錄中設置此證書然后重新啟動應用程序時,結果是相同的。

有誰知道這個配置可能出什么問題的提示,以及一些建議如何解決?

我找到了解決這個問題的方法。 我不知道為什么,但是當我創建一個內部帶有cert的密鑰庫,然后在我的spring應用程序中使用它時,它無法在全球范圍內找到這個帶有cert的密鑰庫。 我一直在尋找有關openJDK11的文檔(因為使用了它),並且找到了“ 啟用無限強度管轄權策略”的鏈接,並檢查了我具有openJDK11版本的文件。

在我的情況下,來自crypto.policy那行被評論了,不知道為什么。 當我取消注釋並設置unlimited它又給了我一個錯誤,但是后來我找到了另一個解決方案。 我發現,我需要將我的自簽名證書添加到cacerts文件( 如何將我的自簽名證書添加到cacerts )。 經過這兩次操作后,它就具有了魅力。

暫無
暫無

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

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