Lmxy1990 ' Blog

jarsigner 签名

概要

  • 要生成密钥(私钥/公钥/证书) 需要有相应的密钥库.而证书是保存公钥的一些信息.

命令

  1. 生成密钥库
    keytool -genkey -alias serverkey -keystore keyserver.keystore
    jarsigner -genkey -alias serverkey -keystore keyserver.keystore

  2. 导出证书
    keytool -export -alias serverkey -keystore keyserver.keystore -file server.crt
    jarsigner -export -alias serverkey -keystore keyserver.keystore -file server.crt

3.密钥库信任指定的证书
keytool -import -alias serverkey -file server.crt -keystore tclient.keystore tclient.keystore
jarsigner -import -alias serverkey -file server.crt -keystore tclient.keystore tclient.keystore

4.签名app
jarsigner -verbose -keystore reaper.keystore -signedjar test_signed.apk test_unsign.apk reaper
-verbose:输出详细信息
-keystore:密钥库位置
-signedjar:后面跟了3个参数:签名成功的apk的名字,等待签名的apk,生成签名的文件名

说明

  • 密钥库相对于保存密钥的数据库.证书相当于公钥以及一些信息.证书一般式由机构来颁发.这样,客户端解析时候.会显示可信网站.当然,服务器之间的通信可能是双方相互制作传递给对方.
  • 公钥用于客户端加密数据,揭秘需要私钥.公钥是不能用于解密的.非对称摘要算法.如果是对称摘要算法.那就是只有私钥.这样不是很安全.因为客户端可能会泄露.

End

坚持原创技术分享,您的支持将鼓励我继续创作!