【发布时间】:2016-04-10 22:14:05
【问题描述】:
我正在编写一个实用的 Mac OS X 应用程序,它基本上充当接受传入 HTTP 请求的 Web 服务器(将其视为模拟 REST API 服务器)。我希望能够支持 HTTPS,但理想情况下我想取消我的用户必须购买自己的 SSL 证书的要求。
我一直在思考如何实现这一目标。假设我注册了一个名为myapp.com 的域。然后,我为myserver.myapp.com 购买了一个由注册 CA 签名的 SSL 证书。我发布我的应用程序时嵌入了这些 SSL 证书详细信息。我的用户所要做的就是更新他们的/etc/hosts 文件,将myserver.myapp.com 指向我的应用程序安装和运行的任何IP 地址。
事实上,到目前为止,最常见的情况是我的应用程序与客户端在同一台机器上运行,因此我正在考虑将 myserver.myapp.com 的主 DNS 条目更新为指向 127.0.0.1,并且大多数用户不需要改变任何东西。
所以,这就是基本理论。我错过了什么会使这成为一个不可行的计划?我想到了几件事:
- 我可以使用自签名证书。但是,如果证书没有有效的 CA 链,许多 SSL 客户端会拒绝(或抛出警告)。我很乐意花钱购买真正的证书,以减轻我的用户带来的不便。
- 我会将 SSL 证书的私钥嵌入到我的应用程序中。理论上,有人可以提取它并用它来模拟我的应用程序。我想我的反应是“那又怎样?”我的应用程序是一个小型生产力应用程序,它不是电子商务网站。它不收集敏感信息。它实际上只是模拟 Web 服务器响应,以便开发人员可以测试他们的应用。
任何建议/反馈将不胜感激。谢谢。
【问题讨论】: