在 PowerShell 中创建测试证书并使用测试证书给程序签名
在 PowerShell 中创建测试证书并使用测试证书给程序签名
在开发和测试过程中,有时您可能需要创建测试证书并使用它来给程序进行签名。这篇博客将介绍如何在 PowerShell 中创建测试证书并使用它给程序签名的步骤。
步骤 1: 打开 PowerShell
在开始菜单中搜索 "PowerShell" 并管理员权限打开 PowerShell 窗口。
步骤 2: 创建测试证书
在 PowerShell 中执行以下命令来创建测试证书:
$cert = New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=TestCertificate" -KeyUsage DigitalSignature -FriendlyName "DuwenlongTestCer"
这个命令将创建一个名为 "DuwenlongTestCer" 的测试证书,并将其存储在变量 $cert 中。
步骤 3: 导出测试证书
执行以下命令将测试证书导出为 .pfx 文件:
$certPath = "C:\Path\To\TestCertificate.pfx"
$certPassword = ConvertTo-SecureString -String "YourPassword" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath $certPath -Password $certPassword
请将 C:\Path\To\TestCertificate.pfx 替换为您希望保存测试证书的路径和文件名。将 "YourPassword" 替换为您希望设置的证书密码。请确保你需要保存的路径已创建,同时把证书安装至证书根目录,双击证书执行安装。
步骤 4: 给程序签名
执行以下命令使用测试证书给程序签名:
Set-AuthenticodeSignature -CertificateFilePath $certPath -FilePath "C:\Path\To\YourProgram.exe"
请将 "C:\Path\To\YourProgram.exe" 替换为您希望签名的程序的完整路径和文件名。
完成上述步骤后,您将得到一个包含测试证书的 .pfx 文件,并且您的程序将使用该证书进行签名。
还可以使用signtool.exe 给文件签名
创建证书的流程用上面的就可以
配置Signtool.exe的环境变量
你安装的是多少的SDK,就在对应的SDK文件夹去找
$envPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
$newPath = "$envPath;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64"
[Environment]::SetEnvironmentVariable("Path", $newPath, "Machine")
重新以管理员的身份启动PowerShell
使用Signtool.exe签名
signtool sign /f <证书文件路径> /p <证书密码> /t <时间戳服务器URL> <要签名的文件路径>
> signtool.exe sign /f "C:\Path\To\TestCertificate.pfx" /p duwenlong /fd SHA256 /t "http://timestamp.digicert.com" "C:\Users\qaz21\source\repos\WpfApp11\WpfApp11\bin\x64\Debug\netcoreapp3.1\WpfApp11.exe"
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库