Visual Studio 2010 PFX 代码签名

发布于 2024-12-15 13:07:51 字数 357 浏览 0 评论 0原文

抱歉,如果之前问过。

使用 Visual Studio 2010,我尝试使用 pfx 文件对程序集进行签名,以便在构建时执行与以下相同的工作:

signtool sign /f myKey.pfx /p password1 myDll.dll

我将 myKey.pfx 设置为强名称密钥文件,并使用“Sign the在项目属性 -> 中检查程序集'签名选项卡。

这是“签名”选项卡的作用还是我试图错误地使用它。

我确信我错过了一些简单的东西,它是什么?

编辑:只是为了澄清一下,我正在寻找仅添加构建后脚本来对签名进行外壳处理的替代方案。

Sorry if asked before.

Using Visual Studio 2010, I am trying to sign my assemblies with a pfx file so that on build it does the same work as:

signtool sign /f myKey.pfx /p password1 myDll.dll

I have myKey.pfx set as the strong name key file with 'Sign the assembly' checked in the Project Properties -> Signing tab.

Is this what the Signing tab does or am I trying to use it for something incorrectly.

I'm sure that I am missing something simple what is it?

Edit: just to clarify, I'm looking for alternatives to just adding a Post-Build script to shell the signing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

阳光下慵懒的猫 2024-12-22 13:07:51

在我的安装/部署项目的 PreBuild 事件中使用 VB 脚本解决了这个问题,该事件运行了我的项目的 OBJ 文件夹中的所有 .DLL 和 .EXE 文件,并运行了signtool 命令(包括 SDK 的完整路径)

Sub ShowSubFolders(keyFile, fFolder)
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
        If UCase(objFSO.GetExtensionName(objFile.name)) = "DLL" Or UCase(objFSO.GetExtensionName(objFile.name)) = "EXE" Then
            'Wscript.Echo objFile
            Dim objResult
            Set objShell = WScript.CreateObject("WScript.Shell")    
            objResult = objShell.Run("""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool"" sign /f " & keyFile & " """ & objFile & """", 0, True)
        End If
    Next

    For Each Subfolder in fFolder.SubFolders
        Call ShowSubFolders(keyFile, Subfolder)
    Next
End Sub

Solved using a VB Script in the PreBuild event of my Setup / Deployment Project which ran over all .DLL and .EXE files in the OBJ folders for my project and ran the signtool command (including full path to the SDK)

Sub ShowSubFolders(keyFile, fFolder)
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
        If UCase(objFSO.GetExtensionName(objFile.name)) = "DLL" Or UCase(objFSO.GetExtensionName(objFile.name)) = "EXE" Then
            'Wscript.Echo objFile
            Dim objResult
            Set objShell = WScript.CreateObject("WScript.Shell")    
            objResult = objShell.Run("""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool"" sign /f " & keyFile & " """ & objFile & """", 0, True)
        End If
    Next

    For Each Subfolder in fFolder.SubFolders
        Call ShowSubFolders(keyFile, Subfolder)
    Next
End Sub
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文