基于我的android密钥库,我创建了一些应用程序.现在,我想更新我的一个程序,但我丢失了我的密钥库.我可以生成另一个并更新我的应用程序吗?
谢谢
我正在帮助应用程序的人需要找到她的debug.keystore - 我的是在我的.android文件夹中,但是当我在她的计算机上导航时它不存在.
是否需要做一些事情才能出现?它在哪里/如何再次生成?
我正在用Java编写一个应用程序,它通过HTTPS连接到两个Web服务器.一个通过默认的信任链获得证书,另一个使用自签名证书.当然,连接到第一台服务器是开箱即用的,而在我使用该服务器的证书创建一个trustStore之前,使用自签名证书连接到服务器不起作用.但是,与默认可信服务器的连接不再起作用,因为显然我创建自己的默认trustStore会被忽略.
我找到的一个解决方案是将证书从默认的trustStore添加到我自己的.但是,我不喜欢这个解决方案,因为它需要我继续管理那个trustStore.(我不能假设这些证书在可预见的未来仍然是静态的,对吧?)
除此之外,我发现了两个有着类似问题的5岁线程:
他们都深入到Java SSL基础架构.我希望到现在有一个更方便的解决方案,我可以在我的代码的安全审查中轻松解释.
我一直在:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
.
.
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.
ValidatorException: PKIX path building failed: sun.security.provider.
certpath.SunCertPathBuilderException: unable to find valid certification
path to requested target
Run Code Online (Sandbox Code Playgroud)
在搜索如何解决此异常时,我遇到了Keystore一个我不理解的术语.Keystore简单来说是什么?它与SSL的关系如何?
使用一些批处理文件,我想在Java Keystore中添加不受信任的自签名证书.
命令是
%JAVA_HOME%/bin/keytool -import -v -trustcacerts -alias server-alias
-file server.cer -keystore cacerts.jks -keypass changeit -storepass changeit
Run Code Online (Sandbox Code Playgroud)
运行上述命令后,屏幕将使用Y/N进行证书信任.
Trust this certificate? [no]:
Run Code Online (Sandbox Code Playgroud)
但我不想在这里提供Y/N.
有没有办法使用单个命令或一些额外的导入开关完成导入?请帮忙.
问候,
阿伦
我正在尝试以编程方式在Java中创建一个新的密钥库.以下代码:
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.setCertificateEntry("alias", cert);
Run Code Online (Sandbox Code Playgroud)
抛出未初始化的KeyStore异常.
我在使用Eclipse和Android的SDK时遇到错误.显然,它来自我的证书到期的事实.所以我用Google搜索了错误,发现我必须删除〜/ .android/debug.keystore文件.事情是我找不到这个文件.它不在我的SDK中.
有人可以帮我弄这个吗 ?
编辑:我在Mac上工作.
就在最近,我遇到了一个关键商店的问题.我知道有很多关于这个问题的问题.我已经阅读了所有内容并且用Google搜索了一下.
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
at java.security.KeyStore.load(KeyStore.java:1214)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:885)
at sun.security.tools.KeyTool.run(KeyTool.java:340)
at sun.security.tools.KeyTool.main(KeyTool.java:333)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770)
... 5 more
Run Code Online (Sandbox Code Playgroud)
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
Version: 3.8.0
Build id: I20120502-2000
Run Code Online (Sandbox Code Playgroud)
我终于为我的应用程序创建了一个"最终"密钥库.由于我的应用程序使用谷歌地图,我需要更新所有布局以使用应用程序产生的新API密钥.
现在我完全了解导出已签名的APK以供发布的要求,但之后是什么?我的想法是,对于进一步的开发和测试,如果我可以将Eclipse配置为使用我的最终密钥库而不是调试密钥库,那将是最简单的......但我发现没有办法做到这一点?它只允许我配置一个"替代"调试密钥,但我猜这不一样.
如果我在这里完全误解了一些东西,我会感到很困惑.