hash - 客户端代码签名技术讲解
问题描述
问题:是否有技术解释如何在企业环境中使用开源工具(如 signtool 或 openssl)使用客户端代码签名?
在我的用例中,我想创建代码文件的哈希并将哈希发送到单独的服务器上。该服务器仅用于签名。在此服务器上还存储了证书和私钥。哈希签名后,我想将签名的哈希传输回客户端并将签名的哈希与代码文件(例如 .exe 文件)一起封装。
在“Mircosoft 代码签名最佳实践”中,还建议先创建数据的哈希值,然后使用私钥对哈希值进行签名。
不幸的是,我找不到任何进一步的信息,如何通过单独的步骤来实现这一点,如 abow 所述。
http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/best_practices.doc
“在实践中,使用公钥算法直接对文件进行签名是低效的。相反,典型的代码签名程序首先创建文件中数据的加密散列(也称为摘要),然后使用私有密钥对散列值进行签名密钥。然后在数字签名中使用签名的哈希值。数字签名可以与数据打包或单独传输。单独传输的数字签名称为分离签名。
解决方案
推荐阅读
- url - URL 中土耳其字母的奇怪表示
- java - 并发调用多个 Spring 微服务 URL
- r - 根据连续日期增加计数器
- c++ - 如何迭代一堆地图:std::stack< std::map
>? - excel - VBA Excel:枚举重复的总数。计数和总和
- python - 无法创建 SQLAlchemy 引擎,出现错误“加载的 'mysqldb' 不是异步的”
- tizen - 在 Github Actions 中构建 Tizen 应用程序有哪些选择?
- java - 无法调用“Object.getClass()”,因为“obj”为空 - JavaFX
- visual-studio-code - electron_node bundle.js 在 vscode 中使用大量 CPU
- javascript - JavaScript连接数组而不重复不正确排序