最近,我一直在解决安全问题,通过获取我的client_id和client_secret可以破坏我的应用程序。
我的实现是使用PCLAppConfig
插件将配置数据存储在配置文件(App.config)中。对此的概述是,您将创建一个配置文件,其构建操作为嵌入式资源。
我认为这很安全,因为它存储在配置文件中,之后我的朋友试图在我的应用上进行渗透测试。基本上他只是做以下事情:
此刻,他知道用户不应知道的所有机密数据。
我的问题是,如何安全地存储这些机密数据。它不应该是硬编码的,因为所有代码都转换为.dll文件,并且可以使用反射工具进行跟踪。
更新
仍然没有解决方案
答案 0 :(得分:0)
也许您可以使用 Xamarin Essentials 中的 SecureStorage
https://docs.microsoft.com/en-us/xamarin/essentials/secure-storage?tabs=android
...
try
{
await SecureStorage.SetAsync("oauth_token", "secret-oauth-token-value");
}
catch (Exception ex)
{
// Possible that device doesn't support secure storage on device.
}
答案 1 :(得分:-2)
您最好的选择是在应用程序启动时从您的服务中检索您的密钥,以便不在您的应用程序中对您的密钥进行硬编码,然后将其保存在属性字典中。类似的东西:
Application.Current.Properties ["keys"] = YourConfigurationManager.GetKeys();
答案 2 :(得分:-3)