在Android中生成密钥哈希时出错

时间:2012-01-13 04:57:41

标签: android facebook

我试图为Facebook生成密钥哈希。我已经安装了openssl并在Facebook上注册了我的应用程序。为了生成密钥哈希,我使用以下命令。

C:\Program Files\Java\jdk1.6.0\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Documents and Settings\User\.android\debug.keystore|C:\OpenSSL\bin shal -binary|openssl base64

这给了我这样的答复:

'C:\OpenSSL\bin' is not recognized as an internal or external command, operable program or batch file.

错误消息的含义是什么?如何解决问题?

3 个答案:

答案 0 :(得分:1)

您可以从以下位置下载并安装openSSL: http://slproweb.com/products/Win32OpenSSL.html

在我的情况下,OpenSSL由于某些依赖性而未正确安装,我遇到了同样的问题。 解决方案:找到解压缩openSSL的目录(在我的例子中为C:\ OpenSSL-Win64)

并使用带有openSSL绝对路径的命令

keytool -exportcert -alias androiddebugkey -keystore C:\Users\nnagella\.android\debug.keystore | C:\OpenSSL-Win64\bin\openssl sha1 -binary | C:\OpenSSL-Win64\bin\openssl base64

答案 1 :(得分:0)

错误消息的第一个命令的关键部分是:

|C:\OpenSSL\bin shal -binary|openssl base64

第一个|表示上一个命令的输出(也可能有问题)应该输入C:\OpenSSL\bin,但shell抱怨C:\OpenSSL\bin不是可执行文件 - 它很可能是一个目录。

也许这应该是:

| C:\OpenSSL\bin\sha1 -binary | C:\OpenSSL\bin\openssl base64

您的第一个命令段也可能存在问题:

C:\Program Files\Java\jdk1.6.0\bin>keytool -exportcert ...

>应该是一个反斜杠:

C:\Program Files\Java\jdk1.6.0\bin\keytool -exportcert ...

答案 2 :(得分:0)

您无需安装openSSL。只需解压缩并将其存储在C盘中即可。获取debug.keystore的副本并将其存储在另一个驱动器中。说D盘。试试这个

C:\ Program Files \ Java \ jdk1.6.0 \ bin> keytool -exportcert -alias androiddebugkey -keystore“D:\ NewFolder \ debug.keystore”|“C:\ OpenSSL \ openssl - 0.9.8k_WIN32 \ bin \ openssl“shal1 -binary”|“C:\ OpenSSL \ openssl - 0.9.8k_WIN32 \ bin \ openssl”base64

确保更改OPENSSL版本。我的赔率为0.9.8你可能会有所不同