Articles of keytool

Android密钥库密码更改

我想更改我在密钥库中使用的密码,用于谷歌播放中已有的Android应用程序,我想在做之前了解一些事情: 1)如果我更改了密钥库密码,我是否可以继续使用相同的密钥库来存储我上传的应用程序(我需要这样做,这就是我要问的原因) 2)更改我的别名密码会产生同样的后果吗? 3)我应该如何使用keytool?

通过为API密钥生成SHA1指纹,让Android Google Map v2在发布版本中运行

今晚我花了很长时间试图弄清楚如何让我的Android Map的调试版本中的Google Map能够在发布版本中运行。 出现了一些不同的问题。 Stack Overflowpost的一些片段有所帮助,但我认为列出整个过程的更多细节会很有用,包括我遇到的问题,包括: 1)您如何/在何处为发布版本指定不同的内容? 2)如何运行获取发布版指纹所需的keytool可执行文件? 3)运行keytool时,为什么我得到“密钥库文件存在但是为空”错误?

“错误版本的密钥库”错误。 如何创建version = 1密钥库证书?

我在使用SSL时遇到问题,因为我收到了与我的密钥库相关的以下错误(使用keytool自行创建和自签名: http : //developer.android.com/tools/publishing/app-signing.html ) : 08-14 20:55:23.044:W / System.err(5430):java.io.IOException:密钥库的错误版本。 08-14 20:55:23.060:W / System.err(5430):at org.bouncycastle.jce.provider.JDKKeyStore.engineLoad(JDKKeyStore.java:812)… JDKKeyStore.java类中抛出的错误出现在以下代码中: 来自JDKKeyStore.java的Blockquote: if(version!= STORE_VERSION){if(version!= 0){throw new IOException(“key store的错误版本。”); }} 大段引用 在这种情况下,STORE_VERSION = 1,我的版本= 3基于读取我创建的密钥库所持证书的详细信息。 我不知道如何生成包含version = 1证书的密钥库。 我发现这个答案很有帮助: 在进行https调用时错误的版本密钥库 但是它要求使用以下参数创建密钥库: -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath /path/to/bouncycastle.jar 但是,当我尝试使用以下参数创建keytool(使用Mac上的终端应用程序)时: keytool -genkeypair -v -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000 -keypass android […]

cacerts.bks不存在

我已根植我的Android(4.0.4)手机并安装了一个应用程序,该应用程序通过我的计算机代理所有HTTP流量。 这工作正常,我可以看到和修改所有HTTP请求。 但HTTPS流量不会通过。 我已经导出了我的代理证书,但我发现/system/etc/security -folder中没有cacert.bks -file。 那么如何使用keytool将我的自定义证书添加到可信证书列表中?

Keytool不会要求密码(使用带有android的Facebook lib)

我像Facebook一样运行下面的脚本。 没有编译问题。 问题是它在处理完成后从未给我提供密码问题,根据facebook文档,这意味着我的密钥库路径不正确。 但是debug.keystore文件的路径正确! C:\用户\ KSM45.android 请让我知道我哪里弄错了? 我只是想用facebook登录! (从文档页面:还要确保使用正确的密码 – 对于调试密钥库,使用’android’生成keyhash。一般规则:如果工具没有要求输入密码,则密钥库路径不正确。) keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

如何在多台计算机上使用google maps API开发Android应用程序?

我想创建一个使用谷歌地图的Android应用程序。 我已经安装了Eclipse,Android JDK和AVD(Android虚拟设备)。 我按照这个教程: http : //developer.android.com/resources/tutorials/hello-world.html制作了我的第一个应用程序。 它的工作原理:) 但是,要开发使用Google Maps API的Android应用,您必须获取Google Maps API密钥。 根据此链接http://code.google.com/android/add-ons/google-apis/mapkey.html,您可以通过在JDK文件夹中获取调试密钥的MD5指纹来获取密钥。 问题是这种指纹在计算机之间是不同的。 所以我的问题是:我们必须在多台计算机上开发。 我们使用subversion作为此项目的源代码控件。 怎么解决这个问题? 如果我注册我的MD5指纹并获得GM API密钥,则此密钥将无法在任何其他计算机上运行。 我知道一个解决方案是每个开发人员都有自己的个人API密钥,但我不认为这是一个平滑的解决方案。 我试着阅读MD5指纹,据我了解你可以创建,导出和导入它们。 那么,解决方案是我可以创建一个特定的指纹,导出它,将其发送给所有其他开发人员,然后他们可以导入它吗? 但据我所知,它必须是一个调试sertificate? 在这种情况下,如何制作,导出和导入一个? 我已经特意阅读了这篇文章,并且知道我使用了keytool命令,但我找不到任何简单的例子。 请赐教:)

我应该在Android Market的密钥库中使用“专有名称”

我即将在Android Market上发布一个应用程序。 我需要生成一个密钥库来签署我的应用程序。 对于-dname param我支持的内容,文档有点-dname 。 这是我正在使用的线: keytool -genkey -v -alias release -keyalg RSA -keysize 2048 -dname “CN=mydomain.com” -keystore my.keystore -validity 10000 -dname (专有名称)字段中需要什么? 我发现我可以包含CN字段。 在Market接受应用程序之前,我还必须放入其他字段吗? 任何好的可选项都可以投入? 更新我发现我可以通过使用检查其他apk的: jarsigner -verify -verbose -certs nameof.apk 这里有些例子: 来自http://slideme.org/ X.509, CN=SlideME, OU=SlideME, O=SlideME, L=Seattle, ST=WA, C=US Opera Mini X.509, CN=Unknown, OU=Unknown, O=Opera Software ASA, L=Oslo, ST=Unknown, C=NO 另一个随机应用程序, X.509, […]

Google地图未在发布模式下显示在Android上

我正在尝试发布我的应用,但谷歌地图有问题。 该应用程序包含一个显示地图的活动(MapActivity)。 在调试模式下运行时,地图工作正常。 我在发布模式下签署了我的应用程序,并获得了SHA1。 我根据需要在Google控制台上创建了一个新的Android密钥(SHA1; packageName)。 获得了API密钥 在我的应用程序中,我根据需要引用了google-play-services-lib的副本。 我正在使用ADT。 map.xml MapActivity.java public class MapActivity extends FragmentActivity { private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map); map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) .getMap(); } AndroidManifest.xml中 唯一奇怪的是,当我使用keytool获取SHA1时,我得到“签名算法名称:SHA256withRSA。这可能是问题吗?如果是,我该如何更改它? 我有点被困在这里! 感谢您的任何帮助!

Keytool生成SHA1指纹而不是MD5?

我想在我的应用程序中使用Google Maps,我已按照本教程生成了eventappkey.keystore的MD5指纹。 但是keytool会生成SHA1指纹而不是MD5,因此我无法注册Google Api,因为谷歌接受密钥库的MD5指纹。 我看过其他建议使用jdk1.6的答案。 但有没有更好的方法,所以我不需要转移到jdk1.6。 任何建议将不胜感激。

Keytool别名没有关键

我正在尝试更改密钥库中私钥的密码。 执行以下操作: keytool -keypasswd -alias -keystore 我明白了: Enter keystore password: 哪个回报: keytool error: java.lang.Exception: Alias has no key 此密钥库是使用从密码丢失的其他密钥库中提取的证书生成的。 我正在尝试将更新推送到Play商店中的现有应用程序,是否可以使用提取的证书中新生成的密钥库来完成此操作?