如果我们将哈希指定为纯文本,是否容易对应用程序进行逆向工程并检查它所针对的证书network_security_config.xml
?我遇到了一种观点,即此类常量应该以字节数组的形式存储在应用程序中,以使攻击者更难推理、应用程序中发生了什么以及它不想与之交谈的原因他的服务器。然后可以将该字节数组转换为混淆代码中某处的适当字符串。当然,它并不能阻止攻击,但它会使攻击变得更加困难。在 Android 上实施证书固定时,最佳实践是什么?
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="false">abc.aaa</domain>
<pin-set>
<pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
</pin-set>
</domain-config>
</network-security-config>