Articles of keytool

Keytool生成32个字符的长密钥哈希而不是28个

我使用以下命令为Android的Facebook应用控制台生成密钥哈希 .\keytool.exe -exportcert -alias app_android -keystore release.keystore | openssl sha1 -binary | openssl base64 正如Facebook开发者SDK帮助所述 根据帮助页面和开发人员控制台,密钥散列应该是28个字符长,但是keytool生成32个字符的长密钥。 Java版本:jdk1.8.0_31操作系统:Windows 7 为Android生成。 编辑 根据@ Shreyash-mashru的建议,我使用以下代码来获取keyhash try { PackageInfo info = getPackageManager().getPackageInfo( “my.package.name”, PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance(“SHA”); md.update(signature.toByteArray()); Log.e(“KeyHash:”, “++++++++++++++++++++++++++++++++++++++” + Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (PackageManager.NameNotFoundException e) { Log.e(“KeyHash:”, “++++++++++++++++++++++++++++++++++++++” + […]

Android Facebook SDK的keytool

我只想要一些确认。 我正在开发Windows 我正在尝试将facebook集成到应用程序中,SDK文档说我需要’导出签名’ 从这里: http : //developers.facebook.com/docs/guides/mobile/#android 所以它说运行这个命令: keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 首先我必须下载openssl: OpenSSL 现在上面的命令,我假设应该转换为: “C:\path\to\java\keytool” -exportcert -alias your_alias -keystore “C:\path\to\your\keystore\keystore.name” | “C:\path\to\openssl_install\bin\openssl” sha1 -binary |”C:\path\to\openssl_install\bin\openssl” base64 那么您想要安装在最新Java安装文件夹中的keytool吗? 您希望别名是您在eclipse中用于正常apk创建的别名的名称吗? 您希望密钥库是导出Android应用程序时使用的密钥库吗? 您希望openssl成为您刚刚安装的那个 所以,一旦我这样做,它会要求输入密码:(它显示密码,因为我正在输入密码) 如果我输入正确的密码,我会得到 ‘zR2tey1h9kqPRSW / yEYEr0ruswyD =’(公开更改) 但如果我输入的密码不正确,它仍然会以一种forms返回给我一个代码 ‘ga0RGNYHvTR5d3SVDEfpQQAPGJ1 =’? 所以,是的,只是在寻找一个确认我正在做正确的事情,这是预期的输出

我在使用keytool获取SHA1证书时遇到问题

我正在尝试使用以下命令在macos sierra上find我的签名密钥库的SHA1哈希: keytool -exportcert -alias androiddebugkey -keystore $HOME/.android/debug.keystore -list -v -storepass android 结果如下所示: 别名:androiddebugkey 创作日期:2017年10月25日 输入types:PrivateKeyEntry 证书链长度:1 证书[1]: keytool错误:java.util.IllegalFormatConversionException:d!= java.lang.String java.util.IllegalFormatConversionException:d!= java.base.String at java.base / java.util.Formatter $ FormatSpecifier.failConversion(Formatter.java: 4331)at java.base / java.util.Formatter $ FormatSpecifier.printInteger(Formatter.java:2846)at java.base / java.util.Formatter $ FormatSpecifier.print(Formatter.java:2800)at java.base / 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的java.base / sun.security.tools.keytool.Main.withWeak(Main.java:3151)中的java.base / sun.security.tools.keytool.Main.printX509Cert(Main.java:3182)。在java.base / sun的java.base / […]

AndroidDebugKey密钥库被篡改,或密码不正确

每当我进入终端时: keytool -list -alias androiddebugkey –keystore~ / .android / debug.keystore -storepass android -keypass android 它要我输入密码。 我以前从未设置过密码。 我已经阅读了其他地方放入“android”但我仍然收到以下错误: keytool错误:java.io.IOException:Keystore被篡改,或密码不正确 我也是Mac环境的新手。 每当我输入密码时,光标都不会移动。 我不确定这是隐藏密码的默认Mac行为,还是密码没有注册,这就是我收到错误的原因。 任何帮助表示赞赏。

Keytool签名问题:密钥库被篡改,或密码不正确

我正在尝试为Google Maps API签署我的Android应用程序的发布版本(调试已签名正常): keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass android -keypass cancertrials 但我得到错误: java.io.IOException: Keystore was tampered with, or password was incorrect 我很肯定密码是正确的,因为当我尝试在Eclipse中导出我的应用程序时,它会询问密钥库和密码,并且我正确输入密码。 不知道为什么我不能签这个? 我需要在发布模式下显示Google地图(在调试模式下工作)。

Java Keystore密码毫无意义?

密钥库密码背后的意义究竟是什么,例如JKS / BKS密钥库? 它显然不是为了安全,因为我可以使用编辑器打开文件,并将所有条目复制到新文件中,而无需使用passwordcheck。 密码保护密钥库中的数据未加密! 这个密码保护什么? 它似乎只是为了烦人的开发者…

检查android keystore keypass的正确性

我正在自动化一些涉及android keytool和jarsigner的东西。 该工具获取密钥库,密钥库的密码,别名和别名/密钥的密码,我正在尝试find一种方法来显式检查别名/密钥的提供密码是否正确。 有任何想法吗? 另外,我需要在没有jar文件的情况下检查它 – 在我的上下文中获取该文件很长,所以我想早点而不是晚点中止。

如何为Google Play生成“密钥库”?

我正在尝试找出将应用上传到Google Play的拜占庭流程。 我正在使用Phonegap的Applaud系统来生成我的应用程序,为了让我创建一个“发布版本”,我需要生成一个“Keystore”。 但是,当我查看Google自己的发布清单时 ,没有关于“密钥库”的内容。 我在Stack Overflow上find了这个答案来生成一个“Keystore”,理论上它应该适用于Ubuntu,这就是我正在使用的: keytool –genkey –v –keystore just2try.keystore –alias someKindOfName –keyalg RSA –validity 10000 首先,我应该把它放在哪里说someKindOfName ? 我的应用程序的名称? 在任何情况下,当我运行它时,我得到这个回应: keytool error: java.lang.RuntimeException: Usage error, –genkey is not a legal command 我用Google搜索了解决方案,但我发现的唯一解决方案是Windows。 有人可以提供或指向一个稍微用户友好的分步指南来生成我应该拥有的这个“Keystore”的东西吗? 一个有Ubuntu / Linux的工作命令?

在为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使用了另一个密码!)。