.net 从强名称文件中提取私钥?

.net 从强名称文件中提取私钥?,.net,strongname,.net,Strongname,正如标题所述,有人知道如何从snk文件中提取私钥吗?我们希望使用strong名称中的私钥进行加密。我读到: sn-o key.snk将提取文件中存在的私钥/公钥,但我尝试了它,它只是一个CSV格式的长字符串,没有区分什么是私钥,什么是公钥。在您链接的文档中,在-o标志旁边,它说: 如果内嵌包含带有私钥的密钥对,也会提取私钥 您确定文件中有私钥吗 您可以运行sn-p key.snk来获取公钥,并将其与sn-o key.snk的输出进行比较-如果它们相同,则密钥文件只有一个公钥,如果没有,则不同的是

正如标题所述,有人知道如何从snk文件中提取私钥吗?我们希望使用strong名称中的私钥进行加密。我读到:

sn-o key.snk将提取文件中存在的私钥/公钥,但我尝试了它,它只是一个CSV格式的长字符串,没有区分什么是私钥,什么是公钥。

在您链接的文档中,在-o标志旁边,它说:

如果内嵌包含带有私钥的密钥对,也会提取私钥

您确定文件中有私钥吗


您可以运行
sn-p key.snk
来获取公钥,并将其与
sn-o key.snk
的输出进行比较-如果它们相同,则密钥文件只有一个公钥,如果没有,则不同的是私钥。

是的,只是按照如下方式创建了它:sn-k key.snk。强名称文件总是有一个公钥/私钥组合,否则它对签名程序集无效。@user127954-然后仅提取公钥并进行比较。请参阅更新的答案。虽然可能,但这将是一个难题,因为-o选项返回字节数组,而-p返回乱码字符串:)。嗯,我想没那么难,但我必须创建一个程序来读入它并将其转换为字节数组。我感到惊讶的是,没有记录在案的方法返回私钥。@user127954-可能是因为它应该是私钥。您应该记住在创建密钥文件时使用的格式…是的,我完全理解,但公钥/私钥对还有其他格式。例如,pfx可以轻松提取私钥。说你不能提取私钥,因为它是私钥,这是没有意义的。如果有人拥有你的snk文件,所有希望都破灭了,他们可以轻松地签署自己的代码并替换你的一个程序集,你的程序将永远不会知道它的恶意代码。见鬼,也许我最终会对snk文件进行散列,并将其用作密钥,然后到此为止。