Articles of keytool

在为Android应用创建密钥库时拒绝访问

我正在尝试签署我的Android应用,以便我可以在Market中发布它。 当我生成密钥库时,我收到拒绝访问错误。 我该如何解决? 这就是我一直在努力做的事情: 右键单击Eclipse Helios中的项目。 Android工具>导出签名的应用程序包。 点击下一步。 我检查“创建新的密钥库”并意识到它没有帮助我。 它仍然要求密钥库的位置。 所以我决定以艰难的方式去做。 关闭C:\Program Files\Java\jdk1.6.0_25\bin上的只读访问权限,并授予CREATOR OWNER组对该文件夹的完全控制权。 在Windows 7 64位上打开命令行。 遍历到C:\Program Files\Java\jdk1.6.0_25\bin 。 运行keytool。 有访问被拒绝错误。 。 C:\Program Files\Java\jdk1.6.0_25\bin>keytool -genkey -v -alias company -keyalg R SA -keysize 2048 -validity 10000 -keystore company.keystore Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: John Smith What […]

使用空密钥库密码曾经可能吗?

在从Android开发中长时间rest后签署apk时,我很惊讶我无法输入空的密钥库密码来解锁它。 它只是我还是以前有可能? 如果是这样,那么什么时候改变了,我怎么能设法解锁密钥库呢? 一些背景:也许我只是疯了,以前没有使用空密码进入密钥库,但是我可以使用的唯一可能的密码也不起作用(我发誓,我没有机会” d使用了另一个密码!)。

Android密钥库已损坏

在Play商店中没有更新我的应用程序一段时间之后,我尝试使用我的密钥库签署我的一个APK,但却发现密钥库和别名密码不再起作用。 我可以使用这个要点重置密钥库密码: gist.github.com/zach-klippenstein/4631307现在工作正常。 这适用于两个不同应用程序的两个不同的密钥库。 运行keytool -list -keystore mykeystore导致: Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry myalias, Dec 23, 2014, PrivateKeyEntry, Certificate fingerprint (SHA1): 85:8F:69…… 我100%确定别名密码与密钥库密码相同,但它似乎不起作用。 我已尝试在Android Studio中使用jarsigner -keystore mykeystore -storepass mykeystorepassword app-debug.apk myalias签署APK,但响应始终是: jarsigner: unable to recover key from keystore 。 我尝试使用keytool -importkeystore -srckeystore mykeystore -destkeystore newkeystore -srcalias myalias将别名移动到新的密钥库文件然后要求我输入新密钥库的新密码和旧密钥库的密码(两者都工作),只有在输入后别名密码我得到一个例外: Enter destination […]

find已签名应用的密钥哈希值

我已经签署了我的应用程序,并将其导出到我桌面上名为app的文件夹中,该文件夹中是我的应用程序本身和密钥库。 如何find可以复制到facebook开发者页面的密钥哈希。 我有openssl安装,但似乎无法生成密钥哈希我已经在堆栈上尝试了许多其他线程,似乎没有任何帮助,谢谢 詹姆士

使用Google Play提供的上传密钥对APK进行签名

我正在尝试了解如何在使用Google Play App Signing时将应用上传到Google Play。 这是我做的: 创建了一个应用程序 使用keytool.exe为该应用程序生成密钥 已将应用上传到Google Play 已注册Google Play App Signing 尝试再次上传应用程序但没有成功。 它抱怨证书不是证书 将新APK上传到Production 上传失败您上传了未使用上传证书签名的APK。 您必须使用相同的证书。 上传证书有指纹:[SHA1:0C:…],用于签署你上传的APK的证书有指纹:[SHA1:2D:…] 搜索了一会儿。 我find了如何将认证发布到我的密钥库中的Google Play控制台上。 像这样的东西: keytool.exe -importcert -file upload.pem -keystore myapp-release-key.keystore 证书似乎在。当我列出密钥库的内容时,这是我得到的: keytool.exe -list -keystore trackcoachfull-release-key.keystore输入密钥库密码: 密钥库types:JKS密钥库提供商:SUN 您的密钥库包含2个条目 myappfull,2017年5月18日,PrivateKeyEntry,证书指纹(SHA1):2D:… uploadkey,2017年5月19日,trustedCertEntry,证书指纹(SHA1):0C:… 现在,我被封锁的地方…… 在Android Studio中,我尝试使用uploadkey生成已签名的APK。 构建>生成签名APK选择上面的密钥库输入密钥库密码选择uploadkey作为密钥别名我强制输入密钥密码。 Android Studio中出错: 错误:任务’:app:packageFullRelease’的执行失败。 com.android.ide.common.signing.KeytoolException:无法从商店“C:\ Users \ Admin \ AndroidStudioProjects \ keystores \ […]

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

我想制作一个使用Google地图的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文件夹中获取debugging密钥的MD5指纹来获取密钥。 问题在于这个指纹是不同于电脑的。 所以我的问题是:我们必须在多台电脑上开发。 我们正在使用Subversion作为这个项目的源代码控制。 这怎么解决? 如果我注册我的MD5指纹并获得通用汽车API密钥,此密钥将无法在任何其他计算机上工作。 我知道一个解决scheme就是每个开发人员都有自己的API密钥,但我不认为这是一个顺利的解决scheme。 我试图读取MD5指纹,据我所知,你可以创build,导出和导入它们。 那么,解决scheme是我可以创build一个特定的指纹,导出它,发送给所有其他开发人员,然后他们可以导入它? 但据我所知,它必须是debugging证书? 在这种情况下,我如何制作,导出和导入一个? 我很想读这个,知道我使用keytool命令,但我找不到任何简单的例子。 请赐教:)

我们应该在Android Market的Keystore中使用“Distinguished Name”

我即将在Android电子市场发布一个应用程序。 我需要生成一个密钥库来签署我的应用程序。 这些文档是我支持-dname参数的一点点备用。 这是我正在使用的行: keytool -genkey -v -alias release -keyalg RSA -keysize 2048 -dname "CN=mydomain.com" -keystore my.keystore -validity 10000 -dname (专有名称)字段中需要什么? 我发现我可以包括CN领域。 在市场接受应用程序之前,我还有其他的领域吗? 任何好的可选的投入? 更新我发现我可以检查其他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, CN=Romeo Ordos, O=GHOR […]

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

我试图释放我的应用程序,但有谷歌地图的问题。 该应用程序包含一个显示地图的活动(MapActivity)。 在debugging模式下运行时,地图工作正常。 我以发布模式签署了我的应用程序,并获得了SHA1。 我根据需要在Google控制台上创build了一个新的android键(SHA1; packageName)。 得到了API密钥 在我的应用程序中,我根据需要引用了google-play-services-lib的副本。 我正在使用ADT。 map.xml <?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.SupportMapFragment" /> 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中 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.rentalcar" android:versionCode="1" android:versionName="1.0" > <uses-sdk […]

Keytool生成SHA1指纹而不是MD5?

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

我无法通过keytool获取SHA1证书

我正在尝试使用以下命令在macos sierra上查找我的签名密钥存储区的SHA1哈希值: keytool -exportcert -alias androiddebugkey -keystore $HOME/.android/debug.keystore -list -v -storepass android 结果如下所示: 别名:androiddebugkey 创作date:2017年10月25日 inputtypes:PrivateKeyEntry 证书链长度:1 证书[1]: keytool错误:java.util.IllegalFormatConversionException:d!= java.lang.String java.util.IllegalFormatConversionException:d!= java.base中的java.lang.String / java.util.Formatter $ FormatSpecifier.failConversion(Formatter.java: 4331)在java.base / java.util.Formatter $ FormatSpecifier.printInteger(Formatter.java:2846)在java.base / java.util.Formatter $ FormatSpecifier.print(Formatter.java:2800)at java.base / java 。java.util.Formatter.format(Formatter.java:2581)在java.base / java.util.Formatter.format(Formatter.java:2517)位于java.base / java.lang.String.format(String.java:2747 )在java.base / sun.security.tools.keytool.Main.printX509Cert(Main.java:3182)在java.base / sun.security.tools.keytool.Main.withWeak(Main.java:3151)。基于/ sun.security.tools.keytool.Main.doPrintEntry(Main.java:1995)在java.base / sun.security.tools.keytool.Main.doCommands(Main.java:1212)在java.base / sun。 security.tools.keytool.Main.run(Main.java:397)at java.base […]