.net core 如何在Linux中为强命名程序集创建.NETCore的snk
我使用CentOS 7和JetBrains Rider IDE编写.NETCore服务器 我需要为.NETCore 2.0创建一组strong命名程序集(库项目)。我知道在Windows上我可以使用.net core 如何在Linux中为强命名程序集创建.NETCore的snk,.net-core,rider,.net Core,Rider,我使用CentOS 7和JetBrains Rider IDE编写.NETCore服务器 我需要为.NETCore 2.0创建一组strong命名程序集(库项目)。我知道在Windows上我可以使用sn.exe工具创建snk密钥文件。有人能详细说明一下如何在CentOS机器上实现这一点吗 我发现了一个名为sn()的单二进制文件,它似乎是sn.exe的等价文件,但它似乎很旧(2003/2004),我不确定它是否是今天应该使用的工具 此外,我还需要使用官方(来自商业供应商)代码签名证书对一些DLL进
sn.exe
工具创建snk
密钥文件。有人能详细说明一下如何在CentOS机器上实现这一点吗
我发现了一个名为sn
()的单二进制文件,它似乎是sn.exe
的等价文件,但它似乎很旧(2003/2004),我不确定它是否是今天应该使用的工具
此外,我还需要使用官方(来自商业供应商)代码签名证书对一些DLL进行签名。我不理解snk
文件与我获得的证书之间的关系(它有p12
扩展名)
通过研究,我了解到,在我的.csproj
文件中,我需要向adviceMSBUILD
添加以下标记,以创建强命名程序集:
<AssemblyOriginatorKeyFile>MyKey.snk</AssemblyOriginatorKeyFile>
<SignAssembly>True</SignAssembly>
MyKey.snk
真的
如果有人能解释如何(在CentOS 7 targeting.NetCore 2.0上)执行以下操作,我将不胜感激:
创建强命名程序集
使用现有的商业证书签署程序集
请注意,我没有使用VisualStudio(您有UI工具的地方) sn-k sgKey.snk
它在Linux上工作。应该安装Mono。尝试使用.Net Core 2.2
一些有用的命令:
创建密钥对:sn–k private.snk
提取公钥:sn–p private.snk public.snk
查看公钥和公钥令牌:sn–tp public.snk
查看程序集的公钥和公钥令牌:sn–Tp assembly.dll
从程序集提取公钥:sn–e assembly.dll public.snk
验证程序集是否已签名,以及是否使用以下键:sn–vf assembly.dll
显示注册用于跳过验证的计算机上的程序集列表:sn–Vl
注册用于跳过验证的程序集:sn–Vr*(必须提升)
退出具有密钥对的程序集:sn–Ra assembly.dll private.snk