【问题标题】:Protect data protection key files with a certificate on ASP .NET Core 2 and Linux在 ASP .NET Core 2 和 Linux 上使用证书保护数据保护密钥文件
【发布时间】:2018-10-02 00:05:03
【问题描述】:

我正在尝试使用ProtectKeysWithCertificate 方法保护静态密钥,但是当代码在 Linux (RHEL7) 上运行时我遇到了一些问题。如果我使用ProtectKeysWithCertificate("thumbprint") 方法,它在 /etc/ssl/certs 位置下找不到证书。因此,我尝试在 Linux 上搜索 Local Machine\Root 并使用 ProtectKeysWithCertificate() 方法从证书存储区自行加载 X509 证书。这会加载证书进行加密,但它无法解密任何内容(我收到“无法检索解密密钥”错误)并且每次服务重新启动时都会创建新的密钥文件。

在 Linux 上保护静态数据密钥的唯一方法是使用 PFX 文件并提供我自己的密码,但这意味着我必须将密码以明文形式存储在某个地方,我真的不想这样做。

任何有关此或如何使其在 Linux 上运行的帮助将不胜感激!

【问题讨论】:

    标签: linux asp.net-core .net-core data-protection


    【解决方案1】:

    如果有人在 Linux 上寻找类似的东西,我会发布我的答案。要使用私钥加载 X509 证书,我必须使用 Bouncy Castle .NET Core 库来读取私钥并获取 RSACryptoServiceProvider 对象。获得公钥和私钥文件后,我使用 .NET Core CopyWithPrivateKey(csp) 方法获取带有私钥的 X509 证书副本,然后与 ProtectKeysWithCertificate() 方法兼容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 2017-02-17
      • 2011-02-02
      • 2018-12-23
      • 2022-08-20
      • 2015-12-02
      • 1970-01-01
      相关资源
      最近更新 更多