assembly-signing相关内容

如何声明好友程序集?

我的解决方案中有 2 个项目: 程序集(基本库) 测试程序集 (NUnit) 我已在第一个项目中将测试程序集声明为朋友程序集: [程序集:InternalsVisibleTo ("Company.Product.Tests")] 一切正常,直到我意识到我忘记设置解决方案来签署我的程序集.所以创建了一个snk文件并设置visual studio项目来签署第一个程序集(基本库).现在 ..
发布时间:2022-01-05 19:13:21 C#/.NET

我如何对已经内置到 dll 中的程序集进行签名,特别是 flute.dll

之所以要对 dll 进行签名,是因为我想将其添加到全局程序集缓存中.该程序集是一个用 Java 编写并移植到 J# 的 css 解析引擎.我使用 VS2008,所以我无法制作 J# 项目.它没有分配给它的强名称键,我不知道现在它已经构建好了. 有人有什么想法吗? 解决方案 经过一番搜索,我找到了这篇文章 解释了一种方法. 摘录: 在 VS.NET 命令提示符下,输入以下内 ..
发布时间:2021-12-25 16:18:42 C#/.NET

使用Roslyn进行编译时如何设置程序集版本,区域性和公共密钥令牌?

我正在使用Roslyn将Visual Studio中的CSharpCompilation对象发射到文件.生成的DLL除了程序集元数据外,不包含任何程序集信息,如果可能的话,我想添加该版本并对其进行签名.罗斯林怎么办? 解决方案 您需要像VS C#项目模板一样,包含用于设置Assembly *属性的源代码.如果这样做,将设置.NET版本信息.您可以使用Reflection或ILSpy之类的工 ..
发布时间:2021-04-23 19:54:56 C#/.NET

我应该如何在msbuild脚本中引用sn.exe?

我需要在构建完成后重新签名我的程序集(并且我还做了其他一些事情),因此我首先添加了一个名为C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\sn.exe的任务.这必须适用于其他开发人员/环境,因此我希望可以从该文件夹中复制sn.exe和sn.exe.config并将其存储在我们的代码存储库中, ..
发布时间:2020-05-12 23:38:34 C#/.NET

C#:用强名称签名DLL(它的依赖关系?)

前一段时间,我询问过“DLL导致异常”当调用引用另一个DLL的方法时。那个时候我没有任何线索,但是现在我想可能会导致问题。 假设我有一个 EXE 调用一个 DLL1 ,这需要一个 DLL2 。当我使用强名称签名 DLL1 时,由于某种原因,所有调用 DLL2 的方法开始返回下面的错误: System.Exception:尝试从DLL1调用方法X时出错。 ---> System.R ..
发布时间:2017-06-08 22:52:35 C#/.NET

我如何做一个已经内置到dll中的程序集,特别是flute.dll

我想要签署dll的原因是因为我想把它添加到全局程序集缓存。该程序集是一个用Java编写的css解析引擎,并被移植到J#。我使用VS2008,所以我不能做J#项目。它没有一个强大的名称键分配给它,我不知道如何做,现在它的建立。 任何人有任何想法? 解决方案 经过一番搜索,我发现这篇文章解释了一种方法。 Exerpt: 从VS.NET命令提示符输入以下内容: 生成一个K ..
发布时间:2017-06-07 23:24:54 C#/.NET

如何获取PFX密钥的容器名称?

前一段时间,我使用如下命令将我的PFX密钥安装到Container中: sn -i mykey.pfx VS_XXX $但是两个月后,我忘了容器名称(VS_XXX),所以我的问题是: 如何得到比名字回来? 解决方案 下载 Keypal 实用程序,然后双击它,您将找到密钥容器的所有名称。您可以在用户个人资料和机器配置文件之间进行选择。 或者,枚举证书库以通过 ..
发布时间:2017-01-16 12:25:24 开发方法

C# - 你可以做一个"弱QUOT;装配参考很强的命名程序集

由于种种原因,我宁愿不要使用强烈的命名在我的项目(签字)组件。然而,其中一个项目是由SharePoint Web部件,这意味着它必须签名引用。 是有可能有此装配签署,但是当我从其他引用它的项目,这样做的使用非强参考。这会给我的优势,具有我的代码的其余部分的非签名的程序集,但仍然允许它由SharePoint加载。 解决方案 要做到这一点,最简单的方法可能是有两个不同的项目配置 - 其中 ..
发布时间:2016-10-04 23:26:56 C#/.NET

什么是管理一个开源项目强名称密钥对推荐的方式?

我管理一个开源项目,并愿意签署了在该项目的二进制包发布的二进制文件。我使用Visual Studio 的csproj 和 SLN 文件管理和构建我的项目,同时也将这些文件分发为一体的一部分项目的源代码包。 我怎么能签我构建的生产二进制文件,而不必分发 SNK 键-pair文件?如果我使用Visual Studio签署组件,每个项目文件现在需要,以建立密钥对的副本。我不舒服分发密钥对,即使是密 ..
发布时间:2016-09-26 22:01:47 C#/.NET

如何声明友元程序集?

我有2个项目在我的解决方案: 大会(基本库) 测试大会(NUnit的) 我宣布试件作为朋友的第一个项目集: [汇编:InternalsVisibleTo(“Company.Product.Tests”)] 一切工作正常,直到我意识到,我已经忘了设置的解签我的组件。因此,创建了一个SNK文件和设置Visual Studio项目签订的第一个组件(基本库)。现在,当我编译第一个项目 ..
发布时间:2016-08-29 12:45:12 C#/.NET

我怎么做一个标志,已经建成一个DLL专门flute.dll组装

我要签名的DLL的原因是因为我想将它添加到全局程序集缓存。该组件是一个CSS解析引擎用Java编写,并移植到J#。我使用VS2008,所以我不能让J#项目。它没有分配给它一个强名称密钥,我不知道该怎么现在,它的建成做到这一点。 任何人有什么想法? 解决方案 一点点搜索后,我发现这个帖子解释这样做的一种方式。 Exerpt:的 从VS.NET命令提示符下,输入以下内容: 生成密钥 ..
发布时间:2016-06-05 19:31:06 C#/.NET

签署引用的程序集后生成错误

我遇到一些签约的组件就已经高兴地建立与pre-签约后,建立在我的项目的错误。在错误列表中,我看到了这样的错误: 类型'XXX'在未引用的程序集的定义。您必须添加一个引用程序集“XXX,版本= [正确的版本],文化= [正确的文化],公钥=空[不正确公钥标记] 在回复到未签名的程序集(仅code不同的是在引用的程序集存储在共享密钥的签约信息和他们的解决方案),一切又构建。 不幸的是,这些文 ..
发布时间:2015-11-27 11:26:19 C#/.NET

开源项目的签约二进制

我试图用 ServiceStack 在我目前的项目,但发现公布的二进制文件都不强命名的,所以我不能用它的框。当问在GitHub上“为什么”我得到了以下的回答: 这是病毒的毒性,阻碍结合,提升,发展, 部署等 mythz是非常简洁的,所以我不想打扰他更多,问在这里。我用了很多像AutoMapper,NUnit的,起订量,log4net的,Ninject等及其发布的开源.NET项目全部强名称。 ..

签名组件与多个项目和开发的最佳实践

我在寻找的建议和最佳实践应用签名的程序集在一个组织中有30多个开发人员,20多个解决方案和60多个项目。我们使用Visual Studio团队系统2008和TFS。 在创建密钥和签名程序集是一个非常容易和简单的过程,我很担心我们如何管理是最好的方法。 我的想法至今: 每个溶液,其通常具有3至20个项目,将具有置于溶液中的根文件夹的单一的.pfx密钥文件。 在每个解决方案都将有一个独特的强密码 ..

与特定的证书是如何编程验证程序集签名?

我的情况是,我们有一个程序(EXE),如果在一个特定的文件夹中,将启动其他程序。我想,以确保它永远只启动这是我们企业证书签名的程序(威瑞信批准等)。从本质上讲那么它只会先从相同的证书本身的程序。我不想出货证书本身。 我一直在寻找网络和系统命名空间,还没有找到一个明显的例子是从文件读取证书数据,并验证它,可以检查对另一个文件。我发现的最接近的是Signtool并在一个单独的EXE具有这种验证是一种 ..
发布时间:2015-11-26 00:12:50 C#/.NET

第三方DLL没有“强名称”?

我的的Visual Studio 2010 解决方案引用了第三方专利DLL。 当我尝试编译解决方案中的错误消息如下: 无法发出总成:引用程序集“NameOfAssembly.DLL'呢 没有一个强大的名字 是唯一的解决这个问题,以我自己的键登录第三方DLL? 解决方案 这是任何人创建别人使用的组件过失犯罪,因为它是多么微不足道给一个集强名称,同时建立它。这样做之后是相当痛苦的,你要反 ..
发布时间:2015-11-25 15:19:29 C#/.NET

有没有一种简单的方法在VS 2010中签一个C ++ CLI的组件?

现在我设置链接器/高级/ KeyFile中选择。 我收到的“mt.exe:一般警告810100b3:是一种强名称签名的程序集和嵌入清单的签名失效,您将需要重新签署该文件,使之成为有效的程序集。 “的。 从网上阅读,这听起来像我必须设置延迟签名选项,下载SDK,并运行SN.EXE作为后生成事件。当然,必须有一个更简单的方法来做到这一点共同的操作VS2010? 解决方案 有跛行了相当数量的在这 ..
发布时间:2015-11-24 21:12:52 C#/.NET

.NET程序集的签名

什么是数字签名都与强命名程序集。我读了一个强命名程序集具有公共密钥和数字签名它。 参考: 签约大会涉及服用大会的重要组成部分散,然后用加密私钥的哈希值。签名的哈希值存储在装配一起的公共密钥。公钥解密将已签名的哈希值。当CLR加载一个强命名组件就会产生从组装的散列,然后用解密的散列进行比较。如果比较成功,那么就意味着,在文件(并因此公钥令牌)的公共密钥与用于签署组件私钥相关联。这将意味着,在 ..
发布时间:2015-11-24 20:55:51 C#/.NET