Apache flex 柔性/空气+;通过SSL传输数据
我使用SSL运行JBoss,证书是使用openssl生成的:Apache flex 柔性/空气+;通过SSL传输数据,apache-flex,ssl,air,graniteds,Apache Flex,Ssl,Air,Graniteds,我使用SSL运行JBoss,证书是使用openssl生成的: <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/ch
<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与JavaEE服务器交互。在Flex/AIR端,我在services-config.xml上将频道更新为SecureAMFChannel:
<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客户端应用程序上从何处开始实现,您能给我一些线索吗?如果我理解正确,您使用的是自签名证书。假设你不能强迫用户通过你的AIR应用程序接受证书,那将是一个安全漏洞。要从您的AIR应用获得可信呼叫,用户需要将您的证书(或您签署证书时使用的不受信任的CA)导入到他们自己的密钥库中 每个操作系统执行此操作的方式不同,但在Windows中执行此操作的示例是在IE中浏览服务器,获取证书警告,查看证书详细信息,然后将证书导出到文件(X509 iirc)。然后,您可以右键单击证书文件并选择安装证书
然后,应该信任对该安全服务器的所有后续调用 是的,我们使用的是自签名证书。我们应该在应用程序投入生产时获得一份真正的证书,但与此同时,我们每次都会被要求获得证书。所以现在我应该寻找一种通过air导入证书的方法,对吗?听起来你现在只是遇到了开发问题,因为当你获得真正的证书时,它将由一个受信任的CA签名。现在,您需要对正在测试的每台机器执行手动步骤,以便在不收到警告的情况下让调用正常工作。很遗憾,您无法通过AIR将证书导入用户系统。谢谢!我已经记录了整个过程,只要应用程序还在开发中,我们就通过HTTP保持连接。我们买了真正的证书后再换。在这个过程中,我学到了很多关于SSL、HTTPS和证书的知识。再次感谢!