【问题标题】:HTTPS Certificate renewal on mobile apps移动应用程序上的 HTTPS 证书续订
【发布时间】:2016-03-08 13:53:35
【问题描述】:

现在 encrypt.org 推出了公开测试版,他们只赠送持续 90 天的 https 证书。那是出于安全原因,他们建议开发人员在 60 天后更新他们的 https 证书,最好的方法是自动化。

但是,我希望将 HTTPS 添加到我的移动应用程序中。您如何每 90 天自动更新证书?那不是需要一个新的应用程序构建和每 60 天更新一次应用程序/Play 商店吗? 我很想看到这个问题得到解答,因为我意识到 HTTPS 更安全。

提前致谢!

【问题讨论】:

  • 将证书添加到应用程序是什么意思?您是否要进行 SSL 固定(在这种情况下,每次证书更改时您都必须重新构建您的应用程序)?但是如果这些证书在设备上是受信任的,您应该能够连接到服务器而无需将证书添加到您的项目中。
  • 好的,您必须一次性添加公钥 .cert 文件,然后该网站在设备上是受信任的?
  • 我想是的。当您添加它时(在设备上打开它,例如从邮件中打开),证书应该出现在 Settings->General->Profiles 中。如果此证书是自签名的,您可能还需要 ATS 例外。

标签: android ios ssl mobile https


【解决方案1】:

没有足够的评论空间,所以我会在这里发布它

我不太确定 encrypt.org 是如何工作的,所以只要你不提供有关他们证书系统的更多信息,我就帮不了你。

但是X509Certificate 本身包含证书更新机制,因此如果在另一端正确实施,您可以在您的应用中实际实施:

According to wiki:

允许从旧的签名密钥对优雅地过渡到 新的签名密钥对,CA 应该颁发一个证书,其中包含 旧的公钥由新的私有签名密钥和一个 包含由旧私有签名的新公钥的证书 签名密钥。这两个证书都是自行颁发的,但都不是 是自签名的。请注意,这些是除了两个自签名的 证书(一个旧的,一个新的)。

由于 cert1 和 cert3 都包含相同的公钥(旧的), cert5 有两个有效的证书链:“cert5 → cert1”和 “cert5 → cert3 → cert2”,与 cert6 类似。这允许 旧用户证书(如 cert5)和新证书(如 cert6) 可以被拥有新证书的一方冷漠地信任 根 CA 证书或旧证书作为信任锚 过渡到新的 CA 密钥

但这仍然需要您拥有 CA 证书(可能您没有)。

另一方面我不知道您为什么需要自己的证书(以及为什么来自 encrypt.org)?您确定他们的证书在 Android 默认 TrustStore 中没有验证吗?最终为您的服务器创建自签名证书并在应用程序中使用它以便您可以完全控制不是更好吗?

【讨论】:

    猜你喜欢
    • 2020-11-10
    • 2018-09-11
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    相关资源
    最近更新 更多