我运行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