【发布时间】:2016-12-01 04:22:01
【问题描述】:
对于我的Xamarin.Forms 应用程序,我创建了一个ASP.NET Web API 作为后端来处理服务器端的东西。
谈到安全性,我几乎迷路了。
我读过很多包含很多可能性的文章,例如HCMA、OAuth 等。
就我而言,我认为只有SSL/Https 就可以完成这项工作。
我只是不知道从哪里开始。我读过的所有文档都没有帮助我......
有谁知道我可以在哪里获得帮助,或者谁能描述如何完成这项工作?
据我所知,我必须创建一个SelfSignedCertificate。
但我把它放在哪里?
在我的应用(资源)内部?
请给我一些帮助。 任何事情都会受到高度赞赏。
编辑 1:
到目前为止,我已经在我的 WebAPI 中创建了一个自定义属性 EnforceSSL。
我的应用程序中的所有 WebRequest 现在都是 HttpsWebRequests。
这是否意味着我的所有流量都是安全的?
据我所知,为了保护我的 API/网站,我需要一个 SSL-Certificate。我可以创建一个或购买一个...(正确吗)?
我想我需要将它包含在我的 IIS 中,我的 API 运行的地方。
我需要在使用我的应用的手机上安装任何客户端证书吗?
【问题讨论】:
-
看看CloudFlare,它们可以很容易地将 https 添加到您的服务器,而且我认为它是免费的。如果您的应用程序连接到使用 https 的服务器,则您的数据是端到端加密的,并且您不需要安装任何东西,只需确保您的呼叫是
https://server/而不是 http -
非常感谢。我等了这么久:D
-
我知道获得 Tumbleweed 徽章是什么感觉 :( 当您将应用程序放入商店时,您需要另一个证书,但那是完全不同的头痛。
-
如果您从顶级颁发机构购买证书,则无需在应用上安装证书。例如,如果您从 godaddy 购买证书,它将自动在您的应用程序上受到信任,因为它们是受信任的颁发者。如果您自己创建一个,它是不可信的,因此您需要将它安装在需要连接的每台设备上。购买证书要容易得多。或者您可以使用我的第一个建议,即 SSL 中间人,这就是 cloudflare。
-
@TombMedia 感谢您的帮助。我想我有一个想法。如果您想添加您的研究作为答案并获得赏金,请随意这样做:D
标签: c# ssl asp.net-web-api https xamarin.forms