创建一个自定义.SNK文件

时间:2019-01-14 09:14:45

标签: .net assemblies private-key public-key snk

如果我已经有我的私钥/公钥对(采用任意格式,但是为了清楚起见,我们如何生成自定义.SNK file(用于用强名称签名程序集)说我们是使用ssh-keygen在Linux上生成的?

1 个答案:

答案 0 :(得分:0)

您可以将密钥存储在以前称为CSP的Microsoft CNG中,而SNK可以轻松地指向密钥容器..这样,您甚至可以将密钥存储在HSM中,但是这会导致在不同计算机上共享密钥的问题..如果密钥位于pkcs12文件上,则可以轻松制作一个批处理文件以将其存储在KeyContainer中,然后使用它

因此,每台计算机上的密钥对相同,如果这些密钥非常重要,则可以保证安全性。

另一方面,您也可以使用CSP或CNG提供程序

<PropertyGroup>
    <SignAssembly>true</SignAssembly>
    <DelaySign>false</DelaySign>
    <KeyContainerName>YOUR_CONTAINER_NAME_HERE</KeyContainerName>
</PropertyGroup>

如果您还希望密钥显示在项目的“属性”部分,则可以添加以下部分

<None Include="$(KEY_CONTAINER_HERE)">
  <Link>Properties\App.snk</Link>
</None>

如果可以使用密钥对生成pk12或pfx文件..则可以使用sn.exe -i ..生成可以使用openssl的p12文件

相关问题