gpt4 book ai didi

.net-core - .Net Core 在 AWS 中存储私钥

转载 作者:行者123 更新时间:2023-12-01 10:24:40 25 4
gpt4 key购买 nike

我正在实现一个安全系统(使用 .Net Core 2.0),其中需要 key 对(公钥和私钥)生成并将公钥传输给接收者。目前我确实生成了 key 对(使用 .Net Core Crypto 库)并将私钥保存在数据库中。我需要在 AWS EC2 实例中托管它。

我知道这是一种不好的做法(将私钥存储在数据库中),我需要在安全保管库(AWS?)中生成这些 key 并将私钥保存在保管库本身中。应用程序在有解密需求时需要取回对应的私钥。

我经历了很多AWS docs但找不到满足我要求的明确答案。如果有人能为我提供一些关于如何实现这一目标的明确说明,那就太好了。

最佳答案

您正确地指出,在数据库中自行存储 secret 是一种不好的做法。根据您希望通过应用程序提供的功能范围,您可以使用以下 AWS 产品之一:

AWS key 管理服务

如果您需要 key 生成以及 key 存储发生在 AWS 中, key 管理服务 (KMS) 是最接近的匹配项。 Here是指向 AWS KMS 主页的链接,以及 documentation .请记住,选择此选项会将 key 生成的确切机制限制为 AWS 开箱即用的任何内容。此外,KMS 的标准用例不包括为您的应用程序生成大量 key 。

AWS 参数存储

如果您决定在您的应用程序中包含 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com