如何防止iOS上的Azure移动应用程序中的证书锁定失败?

时间:2017-12-23 01:53:25

标签: ios azure ssl azure-mobile-services

根据安全公司的建议,我们通过实施证书固定来加强我们的iOS移动应用程序对抗中间人攻击。

本周,我的应用程序开始失败,失败error: -999,应用程序报告HTTP调用已取消。后续调查似乎表明微软更新了*.azurewebsites.net的SSL证书。

这是我在我的应用中固定的旧证书的一部分:

Subject Name
    Common Name: *.azurewebsites.net

Issuer Name
    Country: US
    State/Province: Washington
    Locality: Redmond
    Organization: Microsoft Corporation
    Organizational Unit: Microsoft IT
--> Common Name: Microsoft IT SSL SHA2

今晚我提出的新证书的相同部分:

Subject Name
    Common Name: *.azurewebsites.net

Issuer Name
    Country: US
    State/Province: Washington
    Locality: Redmond
    Organization: Microsoft Corporation
    Organizational Unit: Microsoft IT
--> Common Name: Microsoft IT TLS CA 4

Not Valid BeforeNot Valid After日期也不同(较新的证书运行时间为2017年12月17日至12月17日)。

幸运的是,我们还没有向客户推出应用程序(但我们已经关闭了,所以这很可怕)。显然,一旦我们有客户这种服务关闭是完全不可接受的。

我的问题是:我怎么能避免这个问题在将来咬我?

我可以想到两个可能的解决方案,但我不确定微软是如何更新他们的证书的,我无法找到任何相关信息(我今晚可能缺乏Google-fu)。

  • 解决方案1:了解微软何时会更新证书并立即获取新证书,并尽快将其放入我的应用中。
  • 解决方案2:提供我自己的固定在应用程序中的SSL证书。

解决方案1似乎存在问题,因为我目前无法找到有关Microsoft何时/如何/为何更新这些证书的信息,并且鉴于在旧证书颁发之前发布的新证书不到3天无法操作,我只是不认为这是一个有效的解决方案。

解决方案2似乎更具吸引力,因为它似乎将这更多地置于我的控制之下,但我不知道如何做到这一点。我无法针对Microsoft的某个地址颁发证书。我是否通过我控制的域发布它并设置某种转发到Microsoft的服务?

有人能给我最好,最安全的方法吗?如果我错过了某些内容,我可以使用解决方案3"

0 个答案:

没有答案