【发布时间】:2011-06-02 04:57:45
【问题描述】:
我正在开发一个控制台应用程序。此应用程序生成一个自签名证书并将其安装在当前机器的证书存储中。 涉及的步骤是:-
- 生成证书
- 创建 pfx 文件
- 安装 pfx 文件
对于这些步骤,我需要一个密码来保护私钥和 pfx 文件。 但是,这些密码仅在执行 exe 期间使用。 我应该使用某种随机数生成算法自动生成密码还是接受用户输入的密码?
这两种情况都涉及哪些安全问题?
感谢所有回复。密码的生命周期仅在生成 pfx 文件之前。程序将 pfx 文件安装到 Windows 证书存储区后将其删除。在这种情况下,我猜从用户那里接受密码不会比自动生成密码提供任何安全优势。
我想进一步补充这个问题。
一旦密码可供程序使用,您如何在其生命周期内保护该密码?我正在使用 .net 并已阅读有关 .net 中的安全字符串的信息。但是安全字符串必须由不能解决问题的字符串构建。
代码 sn-p 看起来像
字符串密码 = AutoGenerateOrGetPassword(); GenerateCertificateAndInstall(密码);
如何保护在其生命周期中存储在内存中的密码?
【问题讨论】:
-
密码保护数据的生命周期是多久?
-
听起来整个过程不是用户驱动的。在这种情况下,用户不需要参与,也不需要知道任何地方都有密码......
标签: security console passwords certificate pfx