我運行JBoss使用SSL,與OpenSSL的生成證書:的Flex/AIR + GraniteDS的通過SSL
<Connector protocol="HTTP/1.1" SSLEnabled="true"
port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
keystorePass="password" sslProtocol = "TLS" />
我的客戶是一個AIR應用程序,其通過GraniteDS的Java EE的服務器進行交互。在的Flex/AIR的身邊,我的頻道更新到的SecureAMFChannel在services-config.xml中:
<channel-definition id="myApp-graniteamf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint uri="https://localhost:8443/myApp/graniteamf/amf"
class="flex.messaging.endpoints.SecureAMFEndpoint" />
</channel-definition>
現在,當我從我的客戶端連接,AIR問我,如果我想與連接到前進(查看證書等)。
我是新來的整個SSL/HTTPS概念,但我讀過一些文檔。我現在想弄清楚的是如何讓我的應用程序知道服務器是安全的(本例中是localhost)。從我到目前爲止,客戶端應用程序應該「將服務器信任爲CA」,或者只是信任來自某個服務器的證書。
你可以給我一些線索,從哪裏開始在我的AIR客戶端應用程序中實現這個?
是的,我們正在使用自簽名認證。我們應該在應用程序投入生產時獲得真正的證書,但與此同時,我們每次都會被要求提供證書。所以現在我應該尋找一種通過空氣導入證書的方式,對吧? – 2010-06-02 22:19:10
聽起來像你現在只有發展問題,因爲當你得到真正的證書時,它將由一個可信CA簽署。現在,您需要爲正在測試的每臺機器執行手動步驟,以便在未收到警告的情況下進行通話。不幸的是,您不能讓AIR將您的證書導入用戶系統。 – 2010-06-02 22:32:32
謝謝!我記錄了整個過程,只要應用程序處於開發階段,我們就通過HTTP保持連接。我們會在購買真正的證書時切換它。我在這個過程中學到了很多關於SSL,HTTPS和證書的知識。再次感謝! – 2010-06-03 16:59:10