Android应用签名各种加密方式

1.使用以下命令行生成新密钥:
keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
此密钥必须为 2048 位 RSA 密钥,有效期为 25 年。
2.将该密钥的证书导出为 PEM 格式:
keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
1.查看密钥方式:
keytool -list -v -keystore ~全路径/keystore.jks -alias 别名 -storepass 密码 -keypass 密码

2.生成p12文件方式:
keytool -importkeystore -srckeystore 全路径/keystore.jks -destkeystore 全路径/keystore.jks -deststoretype pkcs12

3.生成pem文件指令:
keytool -export -rfc -alias olive -file upload_certificate.pem -keystore 全路径/keystore.jks
4.DER转PEM
openssl x509 -in deployment_cert.der -inform der -outform pem -out cert.pem
第1步:生成一个私钥

以下示例使用NIST P-256曲线生成椭圆曲线私钥,并将其写入key.pem。这种类型的私钥适用于Google Pay API。

openssl ecparam -name prime256v1 -genkey -noout -out upload_certificate.pem
可选:查看私钥和公钥

以下示例显示如何查看上一步中生成的私钥和公钥:

openssl ec -in upload_certificate.pem -pubout -text -noout
第2步:生成Base64编码的公钥

Google Pay API要求公钥以未压缩的点格式进行Base64编码。要从上一步中生成的私钥生成此格式的公钥,请使用以下命令:

openssl ec -in key.pem -pubout -text -noout 2> /dev/null | grep “pub:” -A5 | sed 1d | xxd -r -p | base64 | paste -sd “\0” -
生成Base64编码的公钥:BEoDV5BTrDCI7orEbhpdMvGBJ9jSHPHV1vc98dHzNLzPfJkJilJfRsyguhyiLZGPhVnK3ockia2ezHtenwZzoto=

第3步:以PKCS8格式生成Base64编码的私钥

要执行解密,您需要将您的私钥传递给Tink库。Tink库接受一个ECPrivateKey对象或String包含以Base64编码的PKCS8格式编码的私钥。要将步骤1中生成的私钥转换为Base64编码的PKCS8格式,请使用以下命令:

openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -nocrypt | base64 | paste -sd “\0” -
以PKCS8格式生成Base64编码的私钥:MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg/Iqy3kV3j8sJL6SIvIFQ88HGK5Id6fAwso6oN5JDi7OhRANCAARKA1eQU6wwiO6KxG4aXTLxgSfY0hzx1db3PfHR8zS8z3yZCYpSX0bMoLocoi2Rj4VZyt6HJImtnsx7Xp8Gc6La

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏着蜗牛去旅行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值