passwords - 使用 SafeNet eToken 自动进行扩展验证 (EV) 代码签名

标签 passwords code-signing code-signing-certificate authenticode safenet

我们最近购买了 DigiCert EV 代码签名证书。我们可以使用signtool.exe 对.exe 文件进行签名。但是,每次我们签署文件时,它都会提示输入 SafeNet eToken 密码。

我们如何通过在某处存储/缓存密码来自动化此过程,而无需用户干预?

最佳答案

扩展此线程中已有的答案,可以使用 Microsoft 的标准 Signtool 程序提供 token 密码。

<强>0。在高级 View 中打开 SafeNet 客户端

安装路径可能会有所不同,但对我来说,SafeNet 客户端安装到:C:\Program Files\SafeNet\Authentication\SAC\x64\SACTools.exe

单击右上角的齿轮图标可打开“高级 View ”。 SafeNet Advanced View

<强>1。从 SafeNet 客户端将公共(public)证书导出到文件 Exporting the Certificate to a File

<强>2。查找您的私钥容器名称
Private Key Container Name

<强>3。找到您的读者姓名 Reader Name

<强>4。将其全部格式化

eToken CSP 具有隐藏(或至少没有广泛宣传)的功能,可以从容器名称中解析 token 密码。

格式是以下四个选项之一:

[]=name
[reader]=name
[{{password}}]=name
[reader{{password}}]=name

地点:

  • reader是 SafeNet 客户端 UI 中的“读者姓名”
  • password是您的 token 密码
  • name是 SafeNet 客户端 UI 中的“容器名称”

如果您连接了多个阅读器,那么您必须指定阅读器名称 - 因为我只有一个阅读器,所以我无法确认这一点。

请注意,双大括号( {{}} )是语法的一部分,必须包含在命令行参数中。

<强>5。将信息传递给signtool

  • /f certfile.cer
  • /csp "eToken Base Cryptographic Provider"
  • /k "<value from step 4>"
  • 您需要的任何其他签名工具标志

signtool 命令示例如下

signtool sign /f mycert.cer /csp "eToken Base Cryptographic Provider" /k "[{{TokenPasswordHere}}]=KeyContainerNameHere" myfile.exe

取自此答案的一些图片:https://stackoverflow.com/a/47894907/5420193

关于passwords - 使用 SafeNet eToken 自动进行扩展验证 (EV) 代码签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927895/

相关文章:

android - 签署我的安卓项目

java webstart 代码签名要求概述

ios - 未找到有效的配置文件但有匹配项

swift - 无法将图像添加到 Xcode 中的图像按钮

Windows 代码签名证书信任期

c - GDB:本地址越界时如何在$eax处找到 'passphrase'?

javascript - 我的密码生成功能效率低下吗?

c - 在C源代码中加密密码

java - 密码验证 8 位数字,包含大写、小写和一个特殊字符

ios - 如何从我的 iPhone 中删除待处理的应用程序图标?