我正在开发一个带有证书固定的移动应用程序。 我将在 DMZ 中有一个框来代理我的请求。 此服务器是否应具有来自受信任 CA 的证书,或者我是否可以使用从自己的 CA 生成的证书?
从移动客户端使用受信任的 CA 有什么好处?
此外,之后我将使用我自己的 CA 生成的证书访问几个不同的服务器。 我也应该固定这些吗? 我假设是的,即使在网络内,固定两者也是最好的。 但有必要吗?
谢谢!
如果您使用自己的 CA 来管理撤销过程,这很难。
如果使用自定义 CA,则意味着您必须:
- 使用
- 自定义 CA 预配将使用应用的所有移动设备。如果您不控制移动设备,这将是不可能的,并且无论如何都将 CA 推送到设备的信任存储是一种责任。
- 禁用系统的默认证书验证,以便应用接受自定义 CA,然后重新验证服务器的链并执行固定。要做到这一点几乎是不可能的,因此您很可能最终会得到不安全的HTTPS连接。
请从受信任的 CA 购买证书。
对于代理和内部服务器之间的连接,您可以实现 SSL 固定,但与移动客户端相比,由于攻击面减少,因此优先级较低。