本文目录导读:

- 为软件/代码签名(数字证书签名)
- 使用OpenSSL进行文件数字签名(验证文件完整性)
- 对PDF文档进行数字签名(Adobe Approve)
- 对代码或文件进行GPG签名(用于开源项目/邮件)
- 如何选择工具?
签名文件”,通常有以下几种常见的含义,请根据你的具体需求(是代码开发、文档验证,还是普通文件加密)选择对应的方法:
为软件/代码签名(数字证书签名)
用途:防止代码被篡改,验证发布者身份(如Windows软件、Android APK)。
- Windows (Authenticode签名):
- 工具:
SignTool.exe(Windows SDK自带)、signtool。 - 步骤:
- 获取数字证书(如从CA购买或自签名)。
- 打开命令提示符(管理员)。
- 使用命令:
signtool sign /fd SHA256 /a /tr http://timestamp.digicert.com /td SHA256 /v "你的文件路径.exe"
(
/tr指定时间戳服务器,确保签名在证书过期后仍有效。)
- 工具:
- Android (APK签名):
- 工具:
apksigner(Android SDK Build Tools自带)。 - 步骤:
- 生成密钥库(
keytool -genkey)。 - 使用:
apksigner sign --ks your.keystore your_app.apk
- 生成密钥库(
- 工具:
- macOS/iOS (Apple签名):
- 工具:
codesign(Xcode自带)。 - 步骤:
codesign --force --sign "Developer ID Application: Your Name" --deep /path/to/your.app
- 工具:
使用OpenSSL进行文件数字签名(验证文件完整性)
用途:对任意文件(PDF、压缩包等)生成签名,配合公钥验证是否被篡改。
- 步骤:
- 生成私钥和公钥(只需一次):
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 openssl rsa -pubout -in private_key.pem -out public_key.pem
- 对文件签名:
openssl dgst -sha256 -sign private_key.pem -out signature.bin 你的文件.docx
- 验证签名(对方需要你的公钥):
openssl dgst -sha256 -verify public_key.pem -signature signature.bin 你的文件.docx
- 生成私钥和公钥(只需一次):
对PDF文档进行数字签名(Adobe Approve)
用途:使PDF文件具有法律效力的电子签章。
- 工具:Adobe Acrobat Pro、Foxit PDF Editor 或 在线免费工具(如 Smallpdf、iLovePDF)。
- 步骤(以Adobe Acrobat为例):
- 打开PDF,点击右侧工具栏的 “填写和签名”。
- 点击 “签名” -> “添加签名”。
- 输入文字、绘制签名或上传图片。
- 点击文档中位置放置签名。
对代码或文件进行GPG签名(用于开源项目/邮件)
用途:证明文件是你发布的(如Linux内核、Git提交)。
- 工具:
GnuPG(GPG)。 - 步骤:
- 生成密钥:
gpg --full-generate-key。 - 签名文件:
gpg --detach-sign --armor 你的文件.txt(生成.asc签名文件)。 - 验证:
gpg --verify 你的文件.txt.asc 你的文件.txt。
- 生成密钥:
如何选择工具?
| 目的 | 推荐工具 | 备注 |
|---|---|---|
| Windows软件 | SignTool |
微软官方,需证书 |
| Android应用 | apksigner |
Android官方 |
| 通用文件完整性 | openssl |
免费,跨平台,程序员常用 |
| PDF电子签章 | Adobe Acrobat | 最专业,但收费 |
| 代码/提交验证 | GPG (GnuPG) |
开源社区标准 |
如果你是指“在Windows下右键签名”,那通常是系统的“数字签名”功能,需要专门的签名工具(如SignTool)或第三方软件(如FireDaemon Pro)来自动化签名流程。
如果你有更具体的使用场景(比如对某个特定格式的文件、在某个操作系统上),可以补充说明,我可以给出更精确的指令。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播