本節說明與 Application Server 和 Web 應用程式安全性及憑證有關的已知問題和相關解決方案。
在 AIX 平台上,針對回應的加密金鑰判定所進行的動態加密會失敗。此失敗發生在伺服器端憑證的驗證期間。
以下錯誤訊息會寫入至伺服器記錄檔 server.log,以回應此失敗:
Unable to validate certificate |
Error occurred while resolving key information com.sun.xml.wss.impl.WssSoapFaultException: Certificate validation failed |
在 Application Server 9.1 Update 1 上安裝 Metro 1.1
在企業 Bean (其執行身份或傳遞的安全性驗證身份是使用 @RunAs 附註所定義) 中的方法嘗試要呼叫另一個企業 Bean 中的方法。如果 sun-ejb-jar.xml 部署描述元檔案中沒有定義任何 run-as 主體,則嘗試可能會失敗,並會顯示javax.ejb.AccessLocalException異常。
javax.ejb.AccessLocalException: Client not authorized for this invocation. |
在 sun-ejb-jar.xml 部署描述元檔案中,將指定 run-as 角色的主體名稱定義在 principal-name 元素中。
SSL 終止無法正常工作;如果為 SSL 終止設定了負載平衡程式 (硬體),Application Server 會在重新導向期間將協定從 https 變更為 http。
在硬體負載平衡器與 Application Server 之間增加軟體負載平衡器。
由於 JVM 錯誤,在 HTTP 偵聽程式上將 security-enabled 設定為 true 時,某些 JDK 版本會出現錯誤問題。具體而言,重現此錯誤的步驟如下︰
在 HTTP 偵聽程式上,將 security-enabled 設定為 true︰
<http-listener acceptor-threads="1" address="0.0.0.0" blocking-enabled="false" default-virtual-server="server" enabled="true" family="inet" id=" http-listener-1" port="8080" security-enabled="true" server-name="" xpowered-by="true"> |
在 quicklook 測試結尾處加入停止網域的註釋。
執行 quicklook 測試。
檢查通訊埠的使用︰
netstat -an | grep 8080 |
下面顯示的是正在使用︰
*.8080 *.* 0 0 49152 0 LISTEN *.8080 *.* 0 0 49152 0 BOUND |
此問題在 GlassFish 網站 https://glassfish.dev.java.net/issues/show_bug.cgi?id=849 中也被提及。
升級到最新的 JDK 版本。