我正在开发一个使用私人网络服务的应用程序。 我们目前使用捆绑的客户端证书来启用双向SSL连接,但是证书的密码在代码中,并且担心这可以被解编译并与(通常)提取的证书文件一起使用以用于恶意目的。
是否有一种方法可以将密码预先加载到应用程序密钥链中以便与应用程序一起分发,以便密码永远不会被打开?
答案 0 :(得分:2)
无论您如何将密码放入二进制文件中,都可以通过调试工具,代码分析等来利用它。
您最好将您的网络服务视为开放...可能在不久的将来不会得到未经授权的正确请求,但基本上您可以放弃访问公众。
Keychain应该使用用户特定的密钥进行加密,这显然是你无法做到的 - 或者你无论如何都能读取每个人的数据。
如果你真的需要保护它,你可能需要服务器上的用户帐户......如果这比你更加安全,那就由你决定。