- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
微软似乎创造了一个认证丛林,这很难理解。
程序集签名 key 属性 (.snk)
基于 pfx 或 cer 创建 snk 文件是否可取?(不确定这是否可能,如果可能的话是怎么做到的?)
虽然可以使用受密码保护的 pfx 对程序集进行签名,但它似乎没有很强的名字,除非它是用 snk 签名的反而。但是snk没有密码保护。哪个更安全使用?因为我是我项目中唯一的开发人员,所以我没有多开发者安全环境问题,但还是想知道什么是最好的方法。
非常感谢,
最佳答案
关于您提到的文件类型的一些说明:
无论您是使用.pfx 文件还是.snk 文件对程序集进行签名都没有关系,无论哪种方式,它都会获得强命名。将 RSA key 存储为加密证书 (.pfx) 当然比仅存储未加密 key (.snk) 更安全。
您可以使用 System.Security.Cryptography.X509Certificates.X509Certificate2
类轻松地从代码中的这些文件中提取 key 。
/// <summary>
/// Converts .pfx file to .snk file.
/// </summary>
/// <param name="pfxData">.pfx file data.</param>
/// <param name="pfxPassword">.pfx file password.</param>
/// <returns>.snk file data.</returns>
public static byte[] Pfx2Snk(byte[] pfxData, string pfxPassword)
{
// load .pfx
var cert = new X509Certificate2(pfxData, pfxPassword, X509KeyStorageFlags.Exportable);
// create .snk
var privateKey = (RSACryptoServiceProvider)cert.PrivateKey;
return privateKey.ExportCspBlob(true);
}
使用 privateKey.ExportCspBlob(false)
只提取公钥! (例如,延迟签署程序集)
关于c# - 如何从 pfx/cer 创建 snk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8174229/
.snk 文件有什么用?我知道它代表强命名 key ,但所有关于它是什么以及它如何工作的解释都超出了我的理解范围。 是否有关于如何使用强命名 key 及其工作原理的简单解释? 最佳答案 .snk 文件
如题,想知道两个键是否在同一个文件中。 最佳答案 是的,是一对 key : http://msdn.microsoft.com/en-us/library/6f05ezxy.aspx 关于c# - .
我目前正在设置我的 .net 库以使用强类型 key 进行签名。我正在使用 .snk 文件在每个解决方案的基础上签署我的 dll。因此对于每个解决方案,它都有自己的 .snk 文件。这是正确的做法吗?
在我的组织中,我们使用带有强名称程序集的 snk 文件。我们自己生成 snk。 此外,我们在二进制文件上使用代码签名签名。我们从 Verisign 获得 pfx。 这两个过程有什么区别? 没有从 Ve
我时不时地在网络上看到一个示例项目,其中包含一个 .snk 文件,用于使用强名称对编译结果进行签名。 AFAIK this is plain wrong - 一旦 .snk 文件被公开,任何人都可以生
来自 sn.exe 实用程序和 this question 的描述我看到公钥的副本被添加到每个用强名称签名的程序集中。这足以验证程序集二进制文件未被更改。 但是如何验证给定的程序集确实是用某个给定的
我有两个项目有同名的 .snk 文件?这些文件是由以前的开发人员添加的。我不确定这两个文件是否相同。我如何知道这两个项目是否使用了相同的 .snk 文件? 最佳答案 如果两个 .snk 文件相同,则它
我在尝试使用我生成的 SNK 文件时不断收到此错误,我在 Visual Studio 2013 中使用它来签署我的程序集: CSC : error CS1548: Cryptographic fail
使用 Visual Studio 2015 后发生构建错误。在 Visual Studio 2015 中构建时,这种情况很少发生。在 TeamCity 中构建时,这种情况经常发生。 [Visual S
如果我使用 .snk 文件强命名一个类库,如果我创建同一库的新版本,是否需要用新的 .snk 文件替换该 .snk 文件? 最佳答案 没有。类库程序集使用 SNK 文件中的公钥进行签名。 您可以对您创
我有一个包含公钥的文件 testpublic.snk。我用 sn -p c:\test.snk c:\testpublic.snk 创建了它。现在,如何将 testpublic.snk 转换为类似 的
在我的 Visual Studio 解决方案中,我有一个网站和 4-5 个引用的类库项目,其中一些还引用了外部第三方程序集。 我被赋予了为这些项目的程序集签名的任务。 我的理解是签名的目的是不是每个人
这是对 Mono xbuild error CS1548 - key file has incorrect format 的跟进 嗨,我有一个使用 VS2008 用 C# 编写的应用程序。目前我们正在
如何将 .snk 文件(用于对 .NET 程序集进行强名称签名)转换为适用于相同目的的受密码保护的 .pfx 文件? 编辑:澄清一下,假设我在 VS 和项目属性中创建一个项目,签名,单击“新建强名称
微软似乎创造了一个认证丛林,这很难理解。 Microsoft X.509 证书 (.cer) 个人信息交换 (.pfx) 程序集签名 key 属性 (.snk) 基于 pfx 或 cer 创建 snk
我的产品需要能够生成 .snk 文件(无需在系统上安装 Microsoft SDK)。我可以生成一个有效的 SNK 文件,但在指定密码时我似乎无法让它工作。谁能给我一些指示?这是我目前所拥有的:
我使用 CentOS 7 和 JetBrains Rider IDE 编写 .NETCore 服务器。 我需要为 .NETCore 2.0 创建一堆强命名程序集(库项目)。我知道在 Windows 上
我用这个命令创建了一个 key 文件: sn.exe -k 2048 Build.snk 我想用 .NET 读入这个 key 。我还没有找到任何关于 .snk 格式的文档,所以我想知道 C# 中是否
我正在尝试使用管道在 Azure DevOps 上构建解决方案。该解决方案中的代码采用 C#、ASP.Net 编写,最近已迁移到 Azure Devops。当我运行构建时,出现以下错误: ##[err
我是一名优秀的程序员,十分优秀!