安全存储 google 服务帐户私钥的最佳方式?

Best way to securely store google service account private key?

我正在开发 .NET MVC 网络应用程序并使用 google 服务帐户来 create/delete 用户个人日历上的日历事件。我不确定什么是保护我的 google 身份验证密钥的最佳方法,以便只有我的程序可以访问它。目前它只是在解决方案文件夹中用于测试目的。

"Best" 是主观的。我能告诉你的只有选项:

  1. 将其作为应用程序设置放入Web.config,然后加密您的appSettings配置部分。这可能是最安全的路线,如果不是最方便的话。

  2. 将其放入您的代码中。开发人员创建静态 Settings class 来保存应用程序所需的各种信息的情况并不少见。但是,这意味着它将在源代码中是纯文本。如果您计划开源您的代码或以其他方式将其存储在其他人可以访问的某个地方(并且包括实际上不应该能够访问它的恶意其他人),那真的只是一个问题。例如,我建议只将源放在防火墙后面的 TFS 或 Git 服务器内部,而不是放在 Internet 或面向 public 的东西上。一旦代码被编译,你显然不会再有它的纯文本形式了。但是,如果有人获得了编译代码的访问权限,他们仍然可以对其进行反编译并可能找到字符串。为了防止这种情况,您可以使用任意数量的混淆程序。