概要
- 要生成密钥(私钥/公钥/证书) 需要有相应的密钥库.而证书是保存公钥的一些信息.
命令
生成密钥库
keytool -genkey -alias serverkey -keystore keyserver.keystore
jarsigner -genkey -alias serverkey -keystore keyserver.keystore
导出证书
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.签名appjarsigner -verbose -keystore reaper.keystore -signedjar test_signed.apk test_unsign.apk reaper
-verbose:输出详细信息
-keystore:密钥库位置
-signedjar:后面跟了3个参数:签名成功的apk的名字,等待签名的apk,生成签名的文件名
说明
- 密钥库相对于保存密钥的数据库.证书相当于公钥以及一些信息.证书一般式由机构来颁发.这样,客户端解析时候.会显示可信网站.当然,服务器之间的通信可能是双方相互制作传递给对方.
- 公钥用于客户端加密数据,揭秘需要私钥.公钥是不能用于解密的.非对称摘要算法.如果是对称摘要算法.那就是只有私钥.这样不是很安全.因为客户端可能会泄露.