2012-07-05 95 views
1

我创建了一个android应用程序,它通过Intranet调用(使用kSOAP库)基于SOAP的Web服务(在java中开发,netbeans)。Java,Netbeans,Tomcat中基于SOAP的Web服务的安全性

现在我想让应用程序生活,所以这将需要我的Web服务暴露在互联网上。

我有以下几个问题...

  1. 我如何确保没有人知道,除了我的Android应用程序
  2. 没有一个能够调用Web服务,除了我的Android Web服务链接应用
  3. Android应用程序和Web服务之间传送的数据是安全和加密
  4. 应该使用什么样的认证机制

我是新来的Web服务安全性,以便原谅我,如果我的问题是愚蠢的:)

回答

1
  1. 这是不可能的。任何拥有您的应用的人都可能会使用流量分析器,如wireshark,并查看所有请求。
  2. 注册的每个请求将应用程序,使得(加些肥皂头),并检查服务器端
  3. 使用HTTPS
  4. How to do authentication using SOAP?
+0

感谢签名......为点2和3的任何教程? – orak 2012-07-05 12:15:24

+0

3是Tomcat设置的问题。 2取决于你的应用程序的性质......事实上,这也是不可能的(请记住icq/oscar协议?)。即使您销售的应用程序的签名工作,有人会购买一个反向工程协议。作为临时解决方案,您可以在每个请求中向客户端发送一个随机字符串,并检查他们是否正确修改它。他们修改它的方式取决于你,例如:md5(md5(string).md5(string).someconstant)。但从长远来看,这是无用的,真正需要它的人可以猜测/反向工程。 – 2012-07-05 13:52:39