簡體   English   中英

使用Weblogic的客戶端證書

[英]Client Certificate using Weblogic

背景:
我正在開發一個涉及客戶端進行身份驗證的項目(通過客戶端證書)。 我們正在嘗試啟動第三方應用程序,該應用程序首先驗證客戶端證書,然后啟動其應用程序。
我們正在使用Java和SSL hanshake,我們的客戶端服務器是Weblogic 10.x. 客戶端證書采用PKCS12格式(不能更改)
這是用於呈現證書的代碼段:

System.setProperty("javax.net.ssl.keyStore","MyPath/cert.pfx");
System.setProperty("javax.net.ssl.keyStorePassword","MyPwd");
System.setProperty("javax.net.ssl.keyStoreType","PKCS12");
url.openConnection();

現在所有這些都是獨立的。 當我們把它放在weblogic上時,問題就出現了。 有時它有效,有時返回“客戶端證書不存在”(http 403.7)。 我嘗試了各種組合(包括在weblogic控制台上配置custome keystore),但似乎沒有任何效果。 知道為什么weblogic會完全忽略SSL設置(即使我將keystore設置為不存在的文件,它也不會引發錯誤)? SSL的System.setProperty在weblogic上顯得毫無用處!

在Weblogic 12c中,您還需要添加參數-DUseSunHttpHandler=true ,以告訴weblogic服務器使用Sun Http Handler而不是它自己的。 因此,您需要以下Java VM參數:

-Djavax.net.ssl.keyStore=MyPath/cert.pfx
-Djavax.net.ssl.keyStoreType=PKCS12
-Djavax.net.ssl.keyStorePassword=MyPwd
-DUseSunHttpHandler=true

終於找到了解決方案! 如果通過Java完成,Weblogic似乎會覆蓋密鑰庫配置。 對我有用的是在網絡邏輯啟動時在JVM級別配置SSL設置。
為了使它工作,我只是在weblogic的啟動腳本中添加了這些Java選項:

-Djavax.net.ssl.keyStore=MyPath/cert.pfx
-Djavax.net.ssl.keyStoreType=MyPwd
-Djavax.net.ssl.keyStorePassword=PKCS12

從那時起,重新啟動的web邏輯和SSL一直運行良好:)

暫無
暫無

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

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