首页 文章

将强命名密钥(pfx)添加到服务器上的所有用户

提问于
浏览
0

我正在尝试配置jenkins windows slave msbuild任务,但是我遇到了点击一次项目及其强名称密钥的问题 .

根据安装PFX密钥的帐户,具体取决于结果和错误 .

背景:

项目(ProjectX和ProjectY)

  • .net 4

  • ClickOnce应用

  • 使用pfx键"ABC.pfx"对程序集进行签名

詹金斯Windows奴隶:

  • Jenkins Windows服务在用户帐户下运行"jenkins@work.com"

  • 由于jenkins为每个项目和分支创建工作区,我们将"ABC.pfx"文件复制到c:\

抄袭决议1:

用我的用户帐户将远程桌面安装到服务器上:

  • 将ABC.pfx复制到C:上的服务器上

  • 以管理员身份运行命令提示符

cd c:\“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ sn.exe”-d VS_KEY_123456789“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin \ sn.exe“-i ABC.pfx VS_KEY_123456789

  • 打开正常的命令提示符并运行(ClickOnce项目已构建,然后发布msbuild命令):

“C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe”“c:/jenkins/workspace/project-x/ProjectX/ProjectX.sln”“/ verbosity:normal”/ p:configuration =“发布“/ p:outdir =”c:/ jenkins / workspace / project-x / output / ProjectX /“”/ target:Clean; Build“/ maxcpucount

“C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe”“c:/jenkins/workspace/project-x/ProjectX/ProjectX.sln”“/ verbosity:normal”/ p:configuration =“发布“/ p:outdir =”c:/ jenkins / workspace / project-x / output / ProjectX /“”/ target:Publish“/ maxcpucount

  • 这两个msbuid命令对我运行正常

  • 在Jenkins帐户下运行时,我们收到错误:

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3326:无法导入以下密钥文件:ABC.pfx . 密钥文件可能受密码保护 . 要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区 . [C:\詹金斯\工作空间\项目-X \ projectX创建\ ProjectX.csproj]

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3321:导入密钥文件“ABC.pfx”已取消 . [C:\詹金斯\工作空间\项目-X \ projectX创建\ ProjectX.csproj]

逮捕决议2:

我使用Jenkins用户帐户将远程桌面安装到服务器上

  • 将ABC.pfx复制到C:上的服务器上

  • 以管理员身份运行命令提示符

cd c:\“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ sn.exe”-d VS_KEY_123456789“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin \ sn.exe“-i ABC.pfx VS_KEY_123456789

  • 打开正常的命令提示符并运行:

“C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe”“c:/jenkins/workspace/project-x/ProjectX/ProjectX.sln”“/ verbosity:normal”/ p:configuration =“发布“/ p:outdir =”c:/ jenkins / workspace / project-x / output / ProjectX /“”/ target:Clean; Build“/ maxcpucount

  • Jenkins用户帐户收到错误:

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3326:无法导入以下密钥文件:ABC.pfx . 密钥文件可能受密码保护 . 要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区 . [c:\ jenkins \ workspace \ project-x \ ProjectX \ ProjectX.csproj] C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3321:导入密钥文件“ABC.pfx”被取消了 . [C:\詹金斯\工作空间\项目-X \ projectX创建\ ProjectX.csproj]

  • 我也遇到了构建错误

有没有人知道如何让Jenkins用户帐户确认PFX密钥?

谢谢你的帮助,桑德拉

1 回答

  • 0

    最后我找到了问题并解决了这个问题,并且如果其他人遇到类似的问题,我认为我会提出这个问题 .

    我们克隆了强命名密钥所在的构建服务器 . 他们被克隆后所有的密钥和点击一次应用程序破了 . 无论我们做了什么,我们都无法删除旧密钥并重新安装它们 .

    从头开始构建新的构建服务器并在新服务器上手动安装PFX密钥后,一切都恢复了 .

    因此,出于某种原因,克隆服务器不能正确克隆pfx密钥 .

相关问题