当前位置: 首页 > 知识库问答 >
问题:

Android签名错误:受信任的证书项没有密码保护

马哲
2023-03-14

得到了一个证书来签署Android未签名的发布apk文件,所以我导入了使用命令:

keytool -import -alias alias_name -file cer_name.cer -storepass changeit  -keystore my_keystore.keystore

但使用android studio对应用程序进行签名时会产生错误:

Error:Execution failed for task ':packageDebug'.
> com.android.ide.common.signing.KeytoolException: Failed to read key alias_name from store "C:\Users\username\my_keystore.keystore": trusted certificate entries are not password-protected

我的推断是,由于密钥没有密码保护,因此我再次尝试并使用以下方法设置密钥密码:

keytool -import -alias alias_name -file cer_name.cer -storepass changeit -keypass changeit -keystore my_keystore.keystore

但错误依然存在。

我还尝试使用jarsigner的手动程序:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my_keystore.keystore unsigned-release.apk alias_name

出现错误:

jarsigner: Certificate chain not found for: alias_name.  alias_name must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

请帮助我无法获得有关Android apk登录错误的相关帖子

共有3个答案

施自珍
2023-03-14

选择要签名的目录。apk将存储(否则将在应用程序文件夹内生成)-

等待APK生成成功

贡正诚
2023-03-14

我强烈建议您使用密钥库资源管理器。当我遇到一些密钥库和证书问题时,这个程序不止一次地救了我的命。它是免费的、开源的,并且是一个易于导航的GUI。它可以创建新的密钥对,并将现有密钥对导入密钥库。我大约3年前开始使用它,它仍然在我的开发工具文件夹中。

易刚捷
2023-03-14

*.cer文件通常只包含证书,而不包含签署APK所需的私钥。

列出密钥库的内容:

keytool -list -v -keystore my_keystore.keystore

并查找条目类型:行(对应的别名)。该值必须是PrivateKeyEntry,而不是trustedCertEntry

 类似资料:
  • 为此,我使用以下命令将。cer文件导入到jks文件中。(密码和密码一样,提示要求接受证书,我给y,然后说证书加到keystore了) keytool-importcert-file xyz.cer-keystore test.jks-alias“testsp” 然后我使用这个jks文件创建凭据,如下所示。 谁能指导我解决这个问题吗?

  • 我已经通过复制我计划连接的Idp的509条目生成了testIdp.cer文件。然后,我通过执行以下命令创建了JKS文件 执行时,它要求输入我已提供密码的密码。对于问题“信任此证书?[no]:“,我给出了”y“作为输入。消息显示为“证书已添加到密钥库”。 然后,我在securityContext.xml中配置了以下详细信息: 但是当我运行应用程序时,在服务器启动和加载应用程序的主页时,我得到了以下两

  • 我正在将spring-saml2-sample应用程序集成到我自己的应用程序中。我的服务提供商连接到Shibboleth IDP。我正在使用Spring Security SAML应用程序附带的samlkeystore.jks中提供的私有证书测试SP。我使用以下命令在密钥库中注册了IDP签名公钥:keytool-importcert-alias idpsignkey-keypass passwor

  • > 。 有些帖子说x509是用来生成自签名证书的。 但使用时出错: 请告诉我哪条路是正确的。如果是正确的,如何解决错误?非常感激!

  • 问题内容: 我试图使用(java)密钥工具创建一个自签名证书,但是当我尝试使用它时,出现以下异常(有关完整异常,请参见底部)。 我知道我可以使用以下代码绕过此代码: (资源) 但是我对此解决方案不感兴趣,因为我认为这会造成安全漏洞。(如果我错了,请纠正我)。 谁能指出我正确的方向?我目前正在本地进行测试,因此很容易进行更改。我可以访问服务器代码,客户端代码和.keystore文件。 更新资料 我试

  • 我已经为我的服务器生成了自我签名的证书。然后用设置->安全->安装添加到Android中。 据我所知,在我将证书添加到受信任的列表中之后,它应该可以很好地工作。我是不是漏掉了什么?其思路是通过Android系统添加证书,无需修改应用程序代码。 顺便说一句,我使用进行网络连接。也许我应该启用连接?