创建自定义.SNK文件

问题描述 投票:2回答:1

我们如何生成一个自定义.SNK file(用于签署一个强名称的程序集),如果我已经拥有我的私钥/公钥对(以任意格式,但为了清晰起见,假设我们已经生成了它) linux,使用ssh-keygen)?

.net assemblies private-key public-key snk
1个回答
0
投票

您可以将密钥存储在Microsoft CNG以前的CSP中,并且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 ..来生成p12文件你可以使用openssl

© www.soinside.com 2019 - 2024. All rights reserved.