Joh*_*ohn 5 security encryption console-application api-key .net-core
我正在开发一个与第 3 方 API 集成的 .NET Core 控制台应用程序。为了进行集成,我需要在 API 请求中传递 API 密钥。所以我的问题是在哪里/如何将 API 密钥存储在我的控制台应用程序中?在常规 .NET 控制台应用程序中,我用来将 API 密钥存储在内部app.config
并使用 .. 加密密钥Aspnet_regiis
,但不确定如何在 .NET Core 控制台应用程序中执行此操作?
你可以考虑...
\n为不同的环境获取单独的密钥(以便受损的密钥可以过期/取消,而不影响其他环境)。
\n将加密的密钥存储在操作系统提供的密钥存储中 [https://learn.microsoft.com/en-us/dotnet/standard/security/cryptography-model]。(这只是意味着它们不会“乱扔”给路过的路人。)
\n删除用于从控制台应用程序检索密钥的代码,可能是常规开发人员无权访问的简单服务或库。(一定程度的分离。)
\n要在应用程序中嵌入信息,请考虑资源文件 [https://learn.microsoft.com/en-us/dotnet/framework/resources/creating-resource-files-for-desktop-apps]
\n底线:这个问题说明了公钥(非对称)加密的存在理由 [https://en.wikipedia.org/wiki/Public-key_cryptography],但任何处理“解密”信息的应用程序flow”使得该信息容易受到有权处理(调试)实时应用程序或使用系统上的诊断工具的每个人的攻击。(如果一个人需要钥匙才能开门,那么您必须给他们一把钥匙才能打开门,并且不能防止不诚实地滥用该特权。)
\n有点偏执是健康的,但太多可能会成为完成任务的障碍。
\n 归档时间: |
|
查看次数: |
2400 次 |
最近记录: |