问题标签 [sn.exe]

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 回答
387 浏览

powershell - 使用 powershell 自动为 Sn.exe 输入密码

我试图在每次运行 Azure Pipeline 时自动安装 pfx 文件,因为使用交互式进程代理,文件似乎丢失了密码或无法导入。下面是我试图实现的powershell脚本,但没有取得多大成功。我需要自动提供密码:

当我运行脚本时,出现以下错误:

Start-Process :此命令无法运行,因为错误:系统找不到指定的文件。在 C:\PowerShellScript\CertReInstall.ps1:12 char:1 + Start-Process -FilePath "sn.exe" -ArgumentList "-i $path $Container ... + ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

我虽然使用“ Import-PfxCertificate ”,但它似乎没有为安装提供容器名称的选项。

任何帮助将不胜感激。谢谢!

0 投票
0 回答
733 浏览

visual-studio - 错误MSB3325:无法导入以下密钥文件,重新启动问题

我将密钥对安装到密钥容器中。然后我就可以建造了。如果我重新启动计算机,则会再次收到错误消息。

至少在我重新启动计算机之前,解决方案是打开管理命令提示符并输入以下命令:

第一个命令删除现有的键,因为它是存在的,而第二行添加键。系统提示我输入密码。之后,解决方案构建。

Visual Studio 版本没有区别,因为我在 VS2017 上遇到了同样的问题。

想法?

0 投票
1 回答
783 浏览

windows - 在 Docker 容器中签署可执行文件失败

我正在尝试使用docker 映像在 Gitlab Pipeline 中进行签名.exe和文件设置:.dlldocker-windows
mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019

我尝试调用这些命令:
> sn.exe -R myfile.exe myKey.snk
> signtool.exe sign /v /f myCert.p12 /p myPassword /fd sha256 /tr "http://sha256timestamp.ws.symantec.com/sha256/timestamp" /td sha256 myFile.exe

在我的机器文件上本地执行此操作时,已成功签名:

但是,使用 Gitlab 管道强名称工具 ( sn.exe) 并signtool.exe失败:

我没有找出错误代码80131701指的是什么。
在某些情况下,人们得到了错误代码System.Runtime.InteropServices.COMException (0x80131701)

这可能是由于我的计算机上存在的 docker 映像中缺少某些证书引起的吗?

0 投票
1 回答
114 浏览

c# - 错误 MSB3325:无法导入以下密钥文件:csc.pfx。密钥文件可能受密码保护

我非常清楚这个错误,因为我遇到了这个错误并通过这个 SO帖子解决了它。

sn -i keyName.pfx VS_KEY_XXXXXXXXXXXXXVisual Studio 开发人员命令提示符运行在我的计算机上解决了它。

现在,我使用 jenkins 作业为每个新提交构建我的解决方案。发生的情况是 git 存储库被克隆,然后使用 msBuild.exe 编译。但是由于该作业不在我的计算机上运行,​​并且我没有手动访问 developerper 命令提示符来运行此命令。

如何仅使用 .pfx 文件的相对路径和编辑 git 存储库中的文件来实现相同的目标?我可以执行非交互式dos命令,但我不知道sn命令在哪里。

正如这个问题所建议的那样,我尝试以某种方式编辑 csproj 文件或使用预构建事件,但我无法实现任何让我的解决方案编译的东西。