私钥算法与签名算法不兼容

时间:2015-08-24 10:07:28

标签: android ionic

当我使用keytool检查密钥详细信息时,它表示密钥库包含2个条目。

其中一个的签名算法是SHA1withDSASHA256withRSA另一个。

我使用了命令

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 
my-release-key.keystore HelloWorld-release-unsigned.apk alias_name

签署我的apk。但它给出的错误是:

  

私钥算法与签名算法不兼容

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:0)

如果使用Android studio

,请在project.ant.genkey内添加以下2行
sigalg: 'MD5withRSA',
keyalg: 'RSA'

答案 1 :(得分:0)

我在生成新的密钥库文件时解决了这个问题,然后我使用新的密钥库文件来签署myApp.apk 我使用以下方法生成密钥:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp_keystore.jks android-armv7-release-unsigned.apk myApp_alias -keypass MY_KEYPASS -storepass MY_STOREPASS

答案 2 :(得分:0)

因此,只需使用您在那里拥有的密钥的签名算法之一...

jarsigner -verbose -sigalg SHA1withDSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name

jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name 

答案 3 :(得分:0)

只需删除-sigalg SHA1withRSA -digestalg SHA1对我有用