如何获得Java签名
获取Java签名的步骤
生成密钥库文件
使用Java的keytool工具生成密钥库文件(.keystore或.jks)。命令如下:
keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks
输入必要信息(如姓名、组织等)并设置密钥库密码。
导出证书文件
从密钥库中导出公钥证书(.cer或.pem格式):
keytool -exportcert -alias myalias -keystore mykeystore.jks -file mycert.cer
为JAR文件签名
使用jarsigner工具对JAR文件进行签名:
jarsigner -keystore mykeystore.jks -signedjar signed-app.jar original-app.jar myalias
代码签名证书(可选)
若需商业用途(如发布应用),需从受信任的CA(如DigiCert、Sectigo)购买代码签名证书。
- 生成证书签名请求(CSR):
keytool -certreq -alias myalias -keystore mykeystore.jks -file myrequest.csr - 将CSR提交给CA,完成验证后获取签名证书。
- 导入CA证书链和签名证书到密钥库:
keytool -importcert -trustcacerts -alias root -file cacert.pem -keystore mykeystore.jks keytool -importcert -alias myalias -file mycert.cer -keystore mykeystore.jks
验证签名
检查JAR文件签名有效性:

jarsigner -verify -verbose -certs signed-app.jar
注意事项
- 密钥库密码和别名密码需妥善保管。
- 商业证书需定期续费,自签名证书可能被系统警告。
- 时间戳服务(如
-tsa参数)可延长签名有效期。





