使用Microsoft Graph API进行证书固定

问题描述

我们已经开发了一个android移动应用程序,正在与Microsoft graph api进行交互。我们必须添加证书固定,以避免中间人攻击。为此,我们需要在应用程序中对公钥进行硬编码,但是Microsoft graph api会继续更改公钥。

我们如何实现证书固定,如何防止中级攻击?

解决方法

您可以尝试使用Certificate Transparency,它提供了一个开放的框架,用于几乎实时地监视和审核SSL证书。具体地说,通过证书透明性,可以检测由证书颁发机构错误颁发的SSL证书或从原本无法企及的证书颁发机构恶意获取的SSL证书。它还使识别出流氓的和恶意颁发证书的证书颁发机构成为可能。

请查看Certificate Transparency for Android