- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个安全系统(使用 .Net Core 2.0),其中需要 key 对(公钥和私钥)生成并将公钥传输给接收者。目前我确实生成了 key 对(使用 .Net Core Crypto 库)并将私钥保存在数据库中。我需要在 AWS EC2 实例中托管它。
我知道这是一种不好的做法(将私钥存储在数据库中),我需要在安全保管库(AWS?)中生成这些 key 并将私钥保存在保管库本身中。应用程序在有解密需求时需要取回对应的私钥。
我经历了很多AWS docs但找不到满足我要求的明确答案。如果有人能为我提供一些关于如何实现这一目标的明确说明,那就太好了。
最佳答案
您正确地指出,在数据库中自行存储 secret 是一种不好的做法。根据您希望通过应用程序提供的功能范围,您可以使用以下 AWS 产品之一:
如果您需要 key 生成以及 key 存储发生在 AWS 中, key 管理服务 (KMS) 是最接近的匹配项。 Here是指向 AWS KMS 主页的链接,以及 documentation .请记住,选择此选项会将 key 生成的确切机制限制为 AWS 开箱即用的任何内容。此外,KMS 的标准用例不包括为您的应用程序生成大量 key 。
如果您决定在您的应用程序中包含 key 生成逻辑,并将存储部分留给 AWS,那么 Parameter Store是给你的产品。为了向参数存储添加新键,您可以执行以下操作:
aws ssm put-parameter --name Generated_Public_Key --value "Generated_Private_Key" --type SecureString
当您的应用程序的客户端通过提供公钥需要先前创建的私钥时,您可以使用以下方法:
aws ssm get-parameter --name User_Provided_Public_Key --with-decryption
如果您决定将目光投向 AWS 之外,请注意,Microsoft Azure 有一个类似于 Parameter Store 的产品,名为 Azure Key Vault .
关于.net-core - .Net Core 在 AWS 中存储私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577600/
我是一名优秀的程序员,十分优秀!