问题标签 [strong-named-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
839 浏览

visual-studio-2010 - 强名称密钥损坏或不可读

在不常见的随机时间间隔内,解决方案中的某些项目将不再构建。可能是因为强命名密钥文件损坏或丢失..在构建项目时导致以下错误:

错误 1 ​​元数据文件 'D:\CasparKleijne.Toolkit\CasparKleijne.Toolkit\bin\Debug\CasparKleijne.Toolkit.dll' 找不到 CasparKleijne.Toolkit.Reporting

错误 2 无法导入以下密钥文件:CasparKleijne.Toolkit.pfx。密钥文件可能受密码保护。要更正此问题,请尝试再次导入证书或手动将证书安装到具有以下密钥容器名称的强名称 CSP:VS_KEY_11D604D4C94AB54 CasparKleijne.Toolkit

错误 3 导入密钥文件“CasparKleijne.Toolkit.pfx”被取消。CasparKleijne.Toolkit

(出于某些隐私原因更改了程序集名称)

但是该文件与它所在的位置完全相同,但我无法再导入它。我必须创建一个新的,并且一切正常

文件如何在正确的位置但仍然无法被 vs2010 找到?这是什么奥秘?我怎样才能避免这种情况?

0 投票
1 回答
1610 浏览

c# - Mono xbuild 错误 CS1548 - 密钥文件格式不正确

所以我试图让一个 VS2010 C# 项目跨平台。第一个目标是在 Windows 的 Mono 2.10.5 中构建它。我还没有接触任何代码——我从 xbuild 最近构建 sln 文件的能力开始。(顺便说一句,我使用 Jenkins 来触发构建,这并不重要,因为我在命令行中得到了相同的结果。)

我收到“错误 CS1548:程序集签名期间出错。指定的密钥文件 `AlphaBeta.pfx' 格式不正确”。这个错误没有多少谷歌果汁。有谁知道这会导致什么?提前致谢!

下面的完整输出:

0 投票
0 回答
414 浏览

.net - FileLoadException 和强程序集签名

我有一个程序集引用了其他几个程序集。一切工作正常,然后我继续并强烈签署了所有程序集。该程序集包含实体设计器和生成的实体和上下文对象。现在在设计器中所做的任何更改都会导致错误,我无法摆脱它。下面列出了错误。任何帮助将非常感激。

错误 1 ​​无法解析程序集引用。路径 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll' 必须是这台计算机的本地或受信任区域的一部分。如果您已下载此模板,您可能需要使用 Windows 资源管理器中模板文件的属性页面“取消阻止”它。

错误 2 加载程序集 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' 时出现问题

错误 3 加载程序集时出现问题 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll'

错误 4 加载程序集时出现问题 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'

错误 5 加载程序集时出现问题 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll'

错误 2-5 的错误和堆栈跟踪类似于:引发了以下异常:System.IO.FileLoadException:无法加载文件或程序集 'file:///C:\Windows\Microsoft.Net\assembly\GAC_MSIL \System.Data.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll' 或其依赖项之一。不支持操作。(HRESULT 异常:0x80131515) 文件名:'file:///C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll ' ---> System.NotSupportedException:尝试从网络位置加载程序集,这会导致程序集在以前版本的 .NET Framework 中被沙盒化。此版本的 .NET Framework 默认情况下不启用 CAS 策略,因此这种加载可能很危险。

0 投票
0 回答
314 浏览

iis - 为第三方 DLL 分配强名称

我正在尝试通过 VSTS 命令行工具分析托管在不同机器上的 IIS Web 服务。在此过程中,My(CommercialService.dll) 文件变为未签名。所以我根据http://sharepointcoding.wordpress.com/2009/02/27/assign-a-strong-name-to-a-third-party -dll/并创建一个新的 Dll (rj.dll) 以使其再次受到保护。

当我尝试用 rj.dll 替换 CommercialService.Dll 时(通过更改它的名称)我从上面的过程中得到,我无法在 IIS 上部署它。

0 投票
1 回答
543 浏览

c# - 顽固的组装,错误的钥匙?或者它是一个强名称问题?

我正在使用 Microsoft 的两个 dll 程序集来比较 Xml。XmlComparer.cs 使用 Microsoft.XmlDiffPatch 并且在 Visual Studio 中正确添加了两个引用。但是我收到此消息:

错误:无法加载文件或程序集“XmlDiffPatch,版本=1.0.8.28,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。locate d 程序集的清单定义与程序集引用不匹配。(HRESULT 除外:0x80131040)异常:System.IO.FileLoadException:无法加载文件或程序集“XmlDiff 补丁,版本=1.0.8.28,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项中的 e 个。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)文件名:XmlCompareLib.XmlComparer.Compare(字符串比较选项,字符串 sourceX mlFileName,字符串更改XmlFileName,

警告:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Md icrosoft\Fusion!EnableLog] (DWORD) 设置为 1。注意:与程序集绑定失败日志记录相关的一些性能损失。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fus ion!EnableLog]。

我认为这与强名称有关。因为我检查了这两个 DLL 并且它们不是强命名的,所以我尝试为程序集生成一个密钥和强名称,但它显然不是同一个密钥。我现在卡住了。。

0 投票
2 回答
6374 浏览

c# - StrongName 一个 .NET 程序集,无需访问原始密钥文件

我对现有 .NET 程序集 dll 中的代码进行了一些更改。我没有用于签署代码的密钥文件。如何强制 .NET 可执行文件加载它,而不注册它以跳过验证(不可移植),而不删除 StrongNames(损坏应用程序)?

0 投票
1 回答
227 浏览

visual-studio - 在 AfterBuild 事件中访问强名称密钥 (pfk) 密码

如果使用受密码保护的 pfk 对程序集进行强名称签名,是否可以访问 AfterBuild 节点中用于密钥的密码?

0 投票
1 回答
476 浏览

visual-studio-2012 - Couchbase 无法在生产服务器上运行

我在我的 asp.net web mvc 项目中使用 Couchbase 客户端(我从这里下载了 dll 文件)

我在 Windows Server 2012 x64 上安装了 Couchbase 服务器。

在开发项目时,一切都按预期工作。当我在服务器上发布网站时,出现此错误:

我被困住了!我也试过这个答案,但没有效果。

我能做些什么?

0 投票
1 回答
3002 浏览

.net - 枚举强名称 CSP 的容器名称

我正在尝试查找有关如何(如果可能)枚举强名称 CSP(加密服务提供商)中的所有容器名称的一些信息。

本质上,当您键入 时sn.exe -i key.snk MyContainerName,公钥和私钥对存储在所谓的“容器”中。稍后,在您的代码中,您可以在 中指定容器名称AssemblyKeyNameAttribute,例如:

这将导致程序集在编译时被签名。

我试图找出是否有可能以某种方式枚举所有容器名称。我正在为 ReSharperInternalsVisibleTo编写一个为属性提供代码完成的插件。我还想为该AssemblyKeyName属性提供代码补全,我将使用已知容器名称预先填充列表。

这些信息是否可以访问?

编辑:从IT Security StackExchange上对这个问题的评论中,有一个链接指向一个名为KeyPal的小工具。运行此实用程序LM将转储本地计算机密钥存储:

我可以看到 [0] 和 [2] 都是与AssemblyKeyName. 但是,有一个 [1] - “IIS Express...”,它不是一个有效的容器。我如何区分它们?

0 投票
1 回答
793 浏览

c# - 尝试将强名称 dll 包含到 2 级安全透明模型中

我的 4.0 MVC 应用程序将 PDF 视图呈现到屏幕上。这一切都适用于我的开发盒,但会从主机提供者环境中产生安全违规。作为补偿,我在控制器上添加了 [AllowPartiallyTrustedCallers] 和 [SecurityCritical] 属性。只是现在,我的两个 nuget 包无法编译,因为它们不符合强名称。因此,当我尝试以下步骤以使它们具有强命名时,我最终会遇到运行时错误。任何建议表示赞赏。

强命名 nuget dll 的步骤。

运行时错误:{“尝试通过安全透明方法 'my_App.M vc Application.Application_Start()' 访问安全关键方法 'System.Web.Optimization.Bundle Table.get_Bundles()' 失败。\n\n 程序集 'my_App, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'被标记为'Allow Partially Trusted Callers Attribute',并使用2级安全透明模型。2级透明导致'Allow Partially Trusted Callers Attribute'程序集中的所有方法默认情况下变得安全透明,这可能是导致此异常的原因。"}

通过安全透明方法 'my_App. M vc Application.Application_Start()' 访问安全关键方法 'System.Web.Optimization.Bundle Table.get_Bundles()' 失败。

程序集 'my_App, Version=1.0.0.0, Culture=neutral, Public Key Token=null' 标有 'Allow Partially Trusted Callers Attribute',并使用 2 级安全透明模型。2 级透明度会导致“允许部分受信任的调用者”程序集中的所有方法默认变为安全透明,这可能是此异常的原因。