【问题标题】:Creating a custom .SNK file创建自定义 .SNK 文件
【发布时间】:2019-01-14 09:14:44
【问题描述】:

如果我已经有我的私钥/公钥对(以任意格式,但为了清楚起见,假设我们已经在 linux 上生成它,使用 ssh-keygen)?

【问题讨论】:

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


【解决方案1】:

您可以将密钥存储在 Microsoft CNG 以前的 CSP 中,并且 SNK 可以轻松指向密钥容器 .. 这样您甚至可以将密钥存储在 HSM 中,但这会在不同机器上共享密钥产生问题.. 如果密钥在 pkcs12 文件中,您可以轻松制作一个批处理文件将其存储在 KeyContainer 中,然后使用它

因此,如果这些密钥非常重要,您可以在每台机器上使用相同的密钥对,这可以保证安全。

另一方面,您也可以使用 CSP 或 CNG Provider

<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

【讨论】:

  • 这并没有解释如何将密钥(从任意格式)获取到密钥容器中。
  • 如果你可以生成 pk12 或 pfx 文件 .. 使用密钥对,那么你可以使用 sn.exe -i .. 生成你可以使用的 p12 文件openssl ..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多