问题标签 [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 投票
1 回答
123 浏览

c# - 同一个项目不同的解决方案标志配置

我正在尝试找到使用强名称符号作为配置的方法。我的情况是:我有一个项目,它包含在两个不同的解决方案中。对于一种解决方案,我希望该项目将使用强名称密钥进行签名,但对于另一种解决方案,我希望该项目将没有签名。

目前我声明签名抛出:项目->属性->签名。

0 投票
1 回答
5205 浏览

c# - 创建证书签名请求

我知道这可能是一个简单的问题,但我开始迷路了。我用来为我的程序集签署强名称(在 Visual Studio 项目属性中)的私钥是否以任何方式相关/需要生成 CSR?

0 投票
2 回答
14147 浏览

.net - 强名称 sn.exe:无法安装密钥对 -- 对象已存在

我的机器上有同一个项目的 2 个不同版本。一个来自代码主干,另一个来自代码分支。这些项目使用 .pfx 密钥来启用强命名。当我第一次尝试编译项目的主干版本时,我收到以下错误:

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

为了解决这个问题,我使用 sn.exe 和以下命令:

sn -i sg Key.pfx VS_KEY_45891C38BC1BB345

这解决了主干项目的问题,然后愉快地构建。

但是,当我尝试构建项目的分支版本时,我收到相同的初始错误(具有相同的密钥容器名称),并且当我尝试使用 sn.exe 安装证书时(不足为奇)给出以下错误:

安装密钥对失败——对象已存在

这是有道理的,因为我在 sn 命令上使用了相同的infile容器,但我想了解的是:

  1. 如果此对象已经存在,为什么项目无法构建,因为它似乎已经安装了证书。
  2. 我如何解决这个问题(例如,我可以卸载然后重新安装吗?如果可以,如何解决?)
0 投票
1 回答
287 浏览

.net - 我是否应该使用新的强名称密钥退出程序集?

如果我更改类程序集的版本信息/编号,我是否应该创建一个新的强名称密钥来退出类程序集?

例如:类程序集版本信息当前为1.0.0.0。如果我更改版本号。到 1.1.0.0,我应该创建/退出程序集吗?还是在重新构建程序集时强名称密钥是否使用新版本信息?

谢谢!

0 投票
1 回答
164 浏览

c# - 强命名程序集验证在本地工作,但在测试设备上失败

在我的应用程序中,我引用了一个在本地运行良好的 .dll。在我构建应用程序以进行发布并在另一台计算机上对其进行测试后,库无法加载。我已将进程附加到测试计算机上的 Visual Studio 调试器,我收到的错误消息告诉我,无法验证强名称。

要在另一台计算机上进行测试,我只需构建发布解决方案并将整个发布文件夹复制到另一台计算机。所有的.dll,包括失败的,都在那里,除了一个,所有的都被成功加载。当我做同样的事情但使用该 .dll 的代码被注释掉时,一切正常。

有没有我遗漏的步骤?图书馆的强名称可以在本地但在测试计算机上进行验证,这似乎很奇怪。

0 投票
1 回答
3537 浏览

c# - 强名称签名对此程序集 Microsoft.Practices.EnterpriseLibrary.Data.dll 无效

我将 Windows 窗体应用程序作为 ClickOnce 部署运行。当我调试解决方案时,我没有收到任何错误。它工作正常。但是,当我使用单击一次部署发布应用程序并从文件夹运行应用程序时,我收到以下错误日志。谁能帮我弄清楚问题到底是什么?

0 投票
0 回答
563 浏览

c++ - 使用强名称和证书签署程序集

我知道对于强命名的 C++ dll,我需要:

  1. 创建一个强名称密钥文件

  2. 为项目分配强名称,通过添加关键属性,(这种方式需要设置公共语言运行时支持),或者指定我们将在以下位置使用的密钥文件:项目->属性->配置属性->链接器->高级-> 密钥文件(这种方式对我不起作用)。

3.通过SN工具对.dll进行签名:sn.exe -R dll_file.dll key_file.snk

由于第 2 步需要更改 Visual C++ 项目(CLR 支持或指定文件密钥),我想知道是否有一种方法可以在不更改现有项目的情况下进行签名,因为我不想触及有效的东西......

任何想法?

0 投票
1 回答
218 浏览

sharepoint-2010 - 为什么要将 key.snk 文件移动到 Sharepoint 项目中的 Properties 文件夹?

将创建新项目时生成的 key.snk 文件从解决方案底部的默认位置向上移动到 Properties 文件夹中是“de rigeuer”。

这不仅仅是当地的“迷信”;它似乎是“公认的方法”,如此处所示

但为什么?那本书似乎没有解释这一行动的存在理由......

0 投票
1 回答
254 浏览

c# - 为新版本的已签名和已发布库更改强名称密钥是否安全?

在为产品开发新库时,我生成了密钥(通过 Visual Studio)并签名库,每个库都有自己的密钥和密码。我以前从未遇到过签名,所以很着急。

我们现在决定为所有库使用一个公共密钥。但是,这些库已经发布,并已使用初始密钥集进行了签名。

现在用另一个密钥重新签名并发布是否安全?会不会影响发布?

0 投票
1 回答
158 浏览

passwords - 每次开发人员从 TFS 解决方法中提取分支时都必须重新输入 PFX 密码吗?

我的解决方案中的 11 个 DLL 必须使用 PFX 证书(使用 Click-Once 安装的大型企业应用程序)。证书完美运行,除非每次有人从不同的开发人员/工作站拉下 TFS 分支时,证书密码无效并且他们收到:

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

强制他们为所有 11 个程序集重新输入相同的密码[下图]。这个非常耗时的繁琐的解决方案/修复是什么?

在此处输入图像描述

我知道从不同的工作站输入相同的密码会使用本地值在技术上产生不同的密钥,但我确信我不是第一个遇到这个问题的人。