我試圖在Adobe AIR中使用REST風格的Web服務。該服務使用客戶端證書進行身份驗證,因此我需要在連接到此RESTful服務時設置AIR/Actionscript的URLRequest
使用的證書和私鑰。Adobe AIR中的SSL客戶端證書認證
是否可以在Adobe AIR中設置Cert/Private Key?
我確實發現Adobe的some documentation有關在Linux上添加到AIR 1.5的SSL證書存儲區的問題,但我希望獲得獨立於平臺的解決方案。
我試圖在Adobe AIR中使用REST風格的Web服務。該服務使用客戶端證書進行身份驗證,因此我需要在連接到此RESTful服務時設置AIR/Actionscript的URLRequest
使用的證書和私鑰。Adobe AIR中的SSL客戶端證書認證
是否可以在Adobe AIR中設置Cert/Private Key?
我確實發現Adobe的some documentation有關在Linux上添加到AIR 1.5的SSL證書存儲區的問題,但我希望獲得獨立於平臺的解決方案。
我找不到這樣做的任何方式(好吧,還沒有)。
Adobe使用基礎操作系統證書存儲。在Windows中,這意味着與IE(和Google Chrome)使用的相同。
的只有解決方案,我想出來的是,在linux下,按照包含的是鏈接中的說明,以及適用於Windows,讓用戶下載/安裝通過IE(客戶端證書和服務器根CA也是如此,因爲我們擁有該組織的自簽名證書),那麼Air使用這些證書。
這帶有一些煩惱 -
Tools -> Internet Options -> Security -> Custom Level -> Miscellaneous -> "Don't prompt for client certificate selection when no certificate or only one certificate exists"
。這會停止不斷的請求(當然,如果存在多個證書,則不起作用)Tools -> Internet Options -> Advanced -> Security -> "Check for service certificate revocation*"
並取消選中這,這可能是唯一與不支持吊銷服務器自簽名的服務器證書必要的,但我不知道。無論如何,你可以看到,它的所有烏七八糟。
因此,差不多一年之後......它可以在JavaScript中完成,這可能會有幫助,也可能沒有幫助,可以使用Forge開源項目:
http://github.com/digitalbazaar/forge/blob/master/README
WebID演示當前使用Forge提供客戶端證書作爲身份驗證機制。這只是一個演示,所以SSL證書是自簽名:
有這個類: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SecureSocket.html
我相信addBinaryChainBuildingCertificate方法應該能夠完成這項任務。