2013-02-27 184 views
1

我在Android上设置了一个MITM测试环境,我需要伪造假证书然后呈现给应用程序。为了达到这个目的,我需要我的CA成为Android可信任的CA之一,这意味着我必须手动安装我的CA证书。是否可以使用SSL证书作为中间CA证书?

我想避免这个特殊的步骤。

我正在考虑获得由GoDaddy或GeoTrust发布的合适的(=购买)证书,这些证书都是由Android信任的。但是,那么我将不得不使用这个证书作为伪造伪造证书的中间CA。

可能吗?有没有我没有考虑到的逻辑/实践限制?

回答

1

这取决于在证书中设置的扩展名以及软件是否正确检查它们。例如,“证书密钥用法”扩展指定密钥是否可用于签署其他证书。证书基本约束扩展指定主体是否可以充当证书颁发机构,以及证书的级别低于何种级别。

正常的SSL证书不应具有充当CA证书的必要扩展名。这意味着你的方法很可能不起作用。

+0

所以,基本上有两个解决方案我坚持。第一个是手动添加我的CA,第二个是购买可以充当中间CA的证书。你能想到其他方法吗? 另外,你有第二个解决方案的指针吗?提前致谢。 – Sebastiano 2013-02-27 15:34:23

+1

不,我没有其他想法。如果获得中间CA证书很容易,整个系统不会很值得信赖。所以手动添加可信证书似乎是唯一的选择。 – Henry 2013-02-27 16:05:06

+0

是的,我明白了。 Android上令人讨厌的事情是,证书首先用pin码或解锁模式加密,然后存储。但我不想强迫用户屈服于这个安全要求。 – Sebastiano 2013-02-27 17:10:39