【问题标题】:Export snk from non-exportable key container从不可导出的密钥容器中导出 snk
【发布时间】:2011-11-12 01:28:10
【问题描述】:

我使用sn -k KeyFile.snk创建了一个snk文件
我将它安装在我的测试机器上并签署了几个文件以用作许可证文件。
我导出了公钥并将其嵌入到我的应用程序中以验证许可证。

现在的问题是我丢失了我的Keyfile.snk,我想在生产服务器上安装密钥对。我无法生成新的密钥对,因为我已经使用旧密钥对颁发了许可证,并且该应用程序已安装在多个客户的 PC 上。

我尝试从我的测试机的密钥容器中导出它,但它被设置为不可导出。
我使用 mimikatz 强制导出。它有效,但它返回了一个 .pvk 文件。
现在我被困住了。

知道我应该如何进行吗?
谢谢。

【问题讨论】:

    标签: .net cryptography strongname private-key snk


    【解决方案1】:

    .pvk 格式通常用于存储 Authenticode(tm) 私钥。这是一种简单的格式,Mono 项目有阅读它的工具。 Mono 还具有读写 .snk 文件的工具。

    但是我不记得有任何工具进行转换,因此您可能需要编写一小段代码来读取 PVK 并将其编写为 SNK(中间有一个 RSA 实例)。

    您需要的一切都存在于 Mono 提供的 Mono.Security 程序集中(或者您可以自己编译)。

    免责声明: 我是上面讨论的 Mono 代码的主要作者,它都可以在 MIT.X11 许可下使用

    【讨论】:

      【解决方案2】:

      我是mimikatz的作者,你不知道可以用OpenSSL转换PVK吗?

      http://blog.gentilkiwi.com/cryptographie/openssl-conversion-pvk-microsoft-privatekey-blob

      您还可以使用公共证书 (sn -p) 和转换后的 PEM 密钥制作 pfx/p12 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-12
        • 1970-01-01
        • 1970-01-01
        • 2012-04-27
        • 1970-01-01
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多