使用 Sectigo SHA384 EV 证书签署 clickonce 会提供未知发布者和智能屏幕拦截器

问题描述 投票:0回答:1

我正在尝试使用 SafeNet 客户端使用 Sectigo Sha384 EV 证书对 clickonce 应用程序进行签名。

以下是 SafeNet 的快照

Safenet

我正在遵循的步骤

请注意 SignTool 中的 CSP 是 SafeNet 客户端中的 CSP,而 Mage 中的 CSP 是 SafeNet 客户端中的 KSP。法师没有另外签名。

我正在使用 VS 2022,但在发布过程中不使用其 UI 签署任何内容。之后我会签署 clickonce 工件

签名工具版本10.0.22621.2428 从位置 C:\Program Files (x86)\Microsoft SDKs\Windows 10.0A in\NETFX 4.8.1 Tools

使用 Mage 版本 4.8.9032.0
//STEP 1: Signing exe file
signtool.exe sign /v /fd "SHA256" /as /f $certPath  /csp "eToken Base Cryptographic Provider"  /kc "[{{tokenpass}}]=Sectigo_xxxxxxxxxxx" /td "SHA256" /tr "http://timestamp.sectigo.com" "c:\publish\1.0.0.0\App.exe"

//STE2: Updating the file hashes in the application manifest file
mage.exe -Update "c:\\publish\\1.0.0.0\\App.exe.manifest" -FromDirectory "c:/publish/1.0.0.0" -Algorithm "sha256RSA"

//signining application manifest
mage.exe -sign "c:\publish\1.0.0.0\App.exe.manifest" -CertFile $certPath -CryptoProvider "SafeNet Smart Card Key Storage Provider" -KeyContainer "[{{tokenpass}}]=Sectigo_xxxxxxxxxxx" -TimestampUri "http://timestamp.sectigo.com" -Algorithm "sha256RSA"

//Verify signing application manifest
mage.exe -Verify "c:\publish\1.0.0.0\App.exe.manifest"

//Updating the deployment manifest with the location and hash of the application manifest
mage.exe -Update "c:\publish\App.application" -AppManifest "c:\publish\1.0.0.0\App.exe.manifest" -Publisher "Test Publisher"

//Signing the deployment
mage.exe -Sign "c:\publish\App.application" -CertFile $certPath -CryptoProvider "SafeNet Smart Card Key Storage Provider" -KeyContainer "[{{tokenpass}}]=Sectigo_xxxxxxxxxxx" -TimestampUri "http://timestamp.sectigo.com" -Algorithm "sha256RSA"

//Verify signing deployment manifest
mage.exe -Verify "c:\publish\App.application"

// Copy the deployment manifest to the versioned path
Copy-Item "c:\publish\App.application" "c:\publish\1.0.0.0\App.application"

//sign the bootstrap file
signtool.exe sign /v /fd "SHA256" /as /f $certPath  /csp "eToken Base Cryptographic Provider"  /kc "[{{tokenpass}}]=Sectigo_xxxxxxxxxxx" /td "SHA256" /tr "http://timestamp.sectigo.com" "c:\publish\setup.exe"

我还检查了发布者名称是 Visual Studio,描述中是“测试发布者”,与颁发证书的人匹配。

vs settings

我弹出一个未知出版商

unknown publisher

我在安装 clickonce 应用程序时也获得了智能屏幕拦截器。

我希望与已知的发行商进行全新安装,并且没有任何智能屏幕。这就是我选择EV证书的原因

我也检查了证书,它是有效的并且有正确的链条

clickonce code-signing code-signing-certificate
1个回答
0
投票
  1. 这是带有 sectigo 时间戳 url 的内容,digicert 时间戳 url 已修复“未知发布者”问题。跨签名机构使用时间戳 url 是完全可以的

  2. 我说我有EV证书是误会了。它实际上是一个 OV 证书,人们对智能屏幕的流行充满期待,直到它开始慢慢获得信任。

© www.soinside.com 2019 - 2024. All rights reserved.