2010-02-02 82 views
3

我試圖在Adobe AIR中使用REST風格的Web服務。該服務使用客戶端證書進行身份驗證,因此我需要在連接到此RESTful服務時設置AIR/Actionscript的URLRequest使用的證書和私鑰。Adob​​e AIR中的SSL客戶端證書認證

是否可以在Adobe AIR中設置Cert/Private Key?

我確實發現Adobe的some documentation有關在Linux上添加到AIR 1.5的SSL證書存儲區的問題,但我希望獲得獨立於平臺的解決方案。

回答

4

我找不到這樣做的任何方式(好吧,還沒有)。

Adob​​e使用基礎操作系統證書存儲。在Windows中,這意味着與IE(和Google Chrome)使用的相同。

只有解決方案,我想出來的是,在linux下,按照包含的是鏈接中的說明,以及適用於Windows,讓用戶下載/安裝通過IE(客戶端證書和服務器根CA也是如此,因爲我們擁有該組織的自簽名證書),那麼Air使用這些證書。

這帶有一些煩惱 -

  1. 除非用戶安裝的根CA,他們被要求確認該服務器的安全證書。
  2. 將要求用戶確認客戶端證書在上每使用請求時(以及在執行大量數據請求的業務應用程序中,這使其無法使用)。要解決這個問題,我發現的唯一方法是讓用戶進入IE,去啓用Tools -> Internet Options -> Security -> Custom Level -> Miscellaneous -> "Don't prompt for client certificate selection when no certificate or only one certificate exists"。這會停止不斷的請求(當然,如果存在多個證書,則不起作用)
  3. 雖然Adobe Air仍然會失敗,但所有這一切都會失敗,除非用戶還在IE中去Tools -> Internet Options -> Advanced -> Security -> "Check for service certificate revocation*"並取消選中這,這可能是唯一與不支持吊銷服務器自簽名的服務器證書必要的,但我不知道。

無論如何,你可以看到,它的所有烏七八糟。