2012-04-26 43 views
4

我有一個Flex應用程序訪問需要SSL客戶端驗證的URL。這些請求在Firefox和Chrome中運行良好。 Chrome和Firefox會顯示提示以選擇用戶證書,然後請求成功完成。在Internet Explorer中沒有提示。請求返回:Flex UrlLoader請求需要SSL用戶證書

錯誤#2032:流錯誤。 URL:https://MyServer/Path/test.txt

我已經解決了這個問題,在我的index.html文件中創建一個標籤,將安全端點命中爲空白JavaScript文件,提示輸入證書。我加載了空白JavaScript文件後,所有工作都在Flex應用程序中運行。與此相關的問題是,應用程序將命中需要用戶證書的多個端點;對我來說一些未知的。他們不會有一個我可以加載的已知空白端點(我不希望將他們嘗試加載的URL放入腳本標記,因爲JS例外)。

有關如何讓Internet Explorer在初始請求中向安全端點提示用戶證書的任何想法?

+0

什麼版本的IE不起作用? – sydd 2013-10-14 00:26:30

回答

0

我沒有測試這一點,但這裏是你可以嘗試:

  • 使用ExternalInterface從您的Flex應用程序調用一些JS。此JS將向您希望證書驗證的網站發出請求。您可以通過示例將該網站的主頁加載到隱藏的iframe中。

  • 偵聽iframe的'load'事件以在加載iframe內容時通知flex應用程序(iframe.addEventListener('load', someFunction, false);)。再次使用ExternalInterface通知Flex應用程序。

我希望它有幫助。