通过 https 的 REST API 的自签名证书与 CA 证书

Self signed certificate VS CA certificate for REST APIs over https

假设我们只有一个服务器 运行 REST API 服务,仅在 HTTPS 上。 APIs 的唯一消费者是移动应用程序。 我们需要来自 CA 的证书还是自签名证书就足够了?

您可以:

  • 保留一个自签名证书,但是你必须固定证书,如果私钥被泄露,你不能撤销它。
  • 使用自制的证书颁发机构,但随后您必须固定证书,并管理吊销过程(维护 OCSP 或 CRL)。
  • 使用来自可信 CA 的证书,将为您检查吊销,如果您想要额外的安全性,您仍然可以固定证书。

在我看来,使用受信任的CA更安全也更简单。

您将需要使用 CA 证书。否则,每个移动客户端都必须手动将您的证书设置为受信任。

您可以将证书作为受信任的证书嵌入到移动应用程序本身(假设您分发该应用程序),但是当需要更新证书或 rekey/replace 证书时,这将是一个问题不管什么问题。

使用全球信任的证书是可行的方法。