如何安全地存储要在MSBuild中使用的.pfx密码?
我需要将证书签名添加到我的生成中。下面是我编写的工作脚本的一个示例,不过它包含了.pfx文件的密码。我无法在构建脚本中保留密码。在这种情况下,您会使用哪些“最佳实践”或黑客如何安全地存储要在MSBuild中使用的.pfx密码?,msbuild,code-signing,password-protection,pfx,signtool,Msbuild,Code Signing,Password Protection,Pfx,Signtool,我需要将证书签名添加到我的生成中。下面是我编写的工作脚本的一个示例,不过它包含了.pfx文件的密码。我无法在构建脚本中保留密码。在这种情况下,您会使用哪些“最佳实践”或黑客 <ItemGroup Label="SignFiles"> <SignFilesInclude="$(FileLocation)\**\*.exe"/> </ItemGroup> <Exec Command="$(SignTool) sign /v /ac C:\MSCV-VS
<ItemGroup Label="SignFiles">
<SignFilesInclude="$(FileLocation)\**\*.exe"/>
</ItemGroup>
<Exec Command="$(SignTool) sign /v /ac C:\MSCV-VSClass3.cer /f C:\Certificate.pfx /p Password /t http://timestamp.verisign.com/scripts/timestamp.dll %(SignFiles.Identity)"/>
在谷歌搜索之后,我在多个地方读到,一旦您第一次使用密码运行脚本,.pfx存储在证书存储中,之后构建脚本中将不需要密码。这是可行的,但是我想确保这是最好的方法,或者更好的是,有一种方法可以避免在脚本中输入密码。将您的.pfx文件导入到Windows证书管理器中,用于生成时使用的用户帐户。然后使用
signtool
的/sha1
开关选择正确的证书,不需要密码
certmgr.msc
12 34 56 78 90 ab cd ef 12 34 56 78 90 ab cd ef 12 34 56 78
signtool/sha1 1234567890abcdef1234567890abcdef12345678/thttp://timestamp.verisign.com/scripts/timestamp.dll %(SignFiles.Identity)
步骤8不会要求输入密码。我相信
signtool
命令行示例会忽略sign
命令。它应该是signtool sign/sha/T文件