使用android客户端创建WCF https服务器

时间:2012-10-08 23:18:56

标签: android wcf encryption https certificate

我想将Android客户端连接到WCF Webservice。有几个很好的指南描述了如何做到这一点,但https概念对我来说真的很模糊。这就是我想要的:

1)通过https与经过身份验证的客户端进行通信的自主WebService。 用户数据库驻留在SQL Server上。 该服务必须是“简单安装”,供任何用户执行。 用户将在他/她的PC上安装该服务,然后从谷歌播放下载客户端,仅使用ipadress配置它。

问题:使用WCF似乎无法执行此操作因为wshttp看起来需要在mashine上安装证书。 一个可能的方法是在安装过程中生成一个自签名证书,但我怎么能以用户友好的方式获得一个Android客户端的证书?

2)在Google Play上发布的Android应用,可以与该服务进行通信。发送到服务的数据既是简单数据类型(字符串和整数数据),也是大型二进制文件3-25Mb。

安装该服务的用户不具备比其IP地址更多的知识,不得担心任何证书问题或其他技术细节。一种选择可能是使用消息而不是传输安全性,但我的知识在这方面非常有限。

服务器和客户端之间传递的信息属于个人特征,可能包含密码,包括使用密码的匹配网站,个人信息,日历活动等。它不包含汇款单,信用卡号或帐号。

服务器和客户端的核心功能或多或少已经实现。我现在需要保护客户端和服务器之间的通信。

任何有关开发此方法的好方法的建议都将受到青睐!

1 个答案:

答案 0 :(得分:0)

我想将服务器服务部署到最终用户的方式使得很难将WCF与ssl一起使用。 其他选择会产生其他问题。我已经放弃了这个特定项目的WCF,转而使用Bouncy Castle,SslSocket和自定义协议进行Good旧套接字编程。这可能是我的过度杀伤,但让我完全控制身份验证证书管理和发送的数据。 我使用带有自签名证书的ssl并覆盖android中的证书验证方法,手动验证证书中的所有数据,除了重新解析主机名...对我来说足够了,因为我使用预共享密钥来加密和解密数据。

感谢您的帮助