适用于Android的Keytool公钥/私钥对
我正在尝试使用keytool功能创建一个公钥/私钥对,这样我就可以向googleplay提交一个Android应用程序。当我尝试使用我制作的密钥对应用程序进行签名时,我从jarsigner处收到此错误适用于Android的Keytool公钥/私钥对,android,google-play,rsa,public-key-encryption,dsa,Android,Google Play,Rsa,Public Key Encryption,Dsa,我正在尝试使用keytool功能创建一个公钥/私钥对,这样我就可以向googleplay提交一个Android应用程序。当我尝试使用我制作的密钥对应用程序进行签名时,我从jarsigner处收到此错误 jarsigner: Certificate chain not found for: SHA1withDSA. SHA1withDSA must reference a valid KeyStore key entry containing a private key and corres
jarsigner: Certificate chain not found for: SHA1withDSA.
SHA1withDSA must reference a valid KeyStore
key entry containing a private key and corresponding public key certificate chain.
当我尝试使用RSA时也是这样。当我查看密钥库的密钥时,我看到的是
条目类型:PrivateKeyEntry
而不是公钥和私钥
我用来创建它们的命令是
keytool -genkey -keystore nameofkeystore.keystore
-alias coffitivity -keypass *passwordommitted* -storepass *thepasswordommitted*
我不是100%确定我做了什么来修复它,但这就是我做的,现在它工作了
keytool -genkeypair -v -keystore my-release-key.keystore
-alias coffdroid -keyalg RSA -keysize 2048 -validity 10000
注意:区别在于我使用“-genkeypair”而不是“genkey”,即使它们应该是相同的
第二:创建一个新的unsigned.apk。这很可能是修复它的方法——因此,如果你撞到了墙,那就重做一遍
然后是贾西纳
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore my-release-key.keystore /Users/tommynicholas/Desktop/*apkname*.apk coffdroid
另一个区别是您将RSA指定为keyalg。显然默认的是DSA.True,但是我已经用它做了很多不同的变化,我应该编辑它。无论如何,我应该只使用“创建签名应用程序”函数,但是教程直到手动的未签名应用程序方法之后才提到这一点。给我一记耳光!谢谢,这帮了我大忙!