【问题标题】:Where does makecert store the private key if -sv is not specified?如果未指定 -sv,makecert 会将私钥存储在哪里?
【发布时间】:2008-10-24 05:54:27
【问题描述】:

假设我运行这个命令:

makecert testcert.cer

是否创建了私钥?如果是这样,即使我没有告诉 makecert 在任何证书存储中安装此证书,它也会自动存储在系统中的什么位置?

【问题讨论】:

    标签: certificate


    【解决方案1】:

    您运行命令的方式不会创建任何私钥。 要使用私钥生成证书,您必须使用选项 -pe。 但这还不够。仅当您的证书目的地是商店时才会创建私钥。所以你必须使用这样的命令:

    makecert -pe -ss 我的 testcert.cer

    “我的”对应“个人”商店。

    【讨论】:

    • 是的,这是真的。另请注意,makecert.exe 不会告诉您它不会将私钥嵌入证书中。它只是在没有私钥的情况下在磁盘上创建它。因此,您可以使用-pe -ss My 选项在存储中创建,然后将其导出到磁盘。
    【解决方案2】:

    看起来私钥存储在文件本身中。从http://msdn.microsoft.com/en-us/library/bfsktky3(VS.80).aspx 的文档中可以看出...

    注意
    您应该使用证书存储来安全地存储您的证书。此工具使用的 .snk 文件以不受保护的方式存储私钥。当您创建或导入 .snk 文件时,您应该在使用过程中小心保护它,并在完成后将其移除。

    【讨论】:

      【解决方案3】:

      未创建私钥,因为我在 .NET 中加载证书时将 X509Certificate2 的 HasPrivateKey 设置为 false。

      【讨论】:

        猜你喜欢
        • 2017-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-14
        • 2013-06-02
        • 2011-02-02
        • 2018-11-03
        • 1970-01-01
        相关资源
        最近更新 更多