代码之家  ›  专栏  ›  技术社区  ›  Ranhiru Jude Cooray

另一个应用程序是否可以使用rsacryptoServiceProvider访问存储在密钥容器中的私钥?

  •  3
  • Ranhiru Jude Cooray  · 技术社区  · 14 年前

    我正在使用 RSACryptoServiceProvider 生成公钥/私钥对并使用 cspParameters 对象将其存储在密钥容器中。

    我的问题是,在我将私钥存储在密钥容器中之后,其他应用程序是否可以访问密钥容器并检索我生成的私钥?

    如果是的话,钥匙的安全性就会受到影响,不是吗?

    我该怎么避免呢?我应该用对称加密算法加密生成的私钥吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   President James K. Polk    14 年前

    在不使用硬件安全模块的情况下,您唯一的保护就是设置cspparameters.flags字段:

    CspParameters.Flags = CspProviderFlags.UseNonExportableKey |  CspProviderFlags.UseUserProtectedKey;
    

    第一个标志阻止软件“诚实地”导出私钥。第二个要求用户与GUI交互以执行任何私钥操作。