web-dev-qa-db-ja.com

Opensslが内部コマンドまたは外部コマンドとして認識されていません

私は自分のアプリのアプリケーション署名を生成したいと考えています。これは後でFacebookと統合される予定です。 Facebookのチュートリアルの一つで、私はこのコマンドを見つけました:

keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64

チュートリアルでは、このcmdを実行することで、私の署名生成プロセスが開始されることを説明しています。

ただし、このコマンドではエラーが発生します。

openssl is not recognized as an internal or external command

どうすればこれを取り除くことができますか?

166
khurram

まあopensslの場所で...あなたは実際にあなたがダウンロードしたあなたのopensslフォルダへのパスを置かなければなりません。実際のコマンドは次のようになります。

keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | "C:\Users\abc\openssl\bin\openssl.exe" sha1 -binary | "C:\Users\abc\openssl\bin\openssl.exe" base64

覚えておいて、あなたが入力するパスはあなたがopensslをインストールしたパスになるでしょう...これが助けになることを願っています.. :-)

編集:

あなたは以下のそれぞれのリンクから窓32と64ビットのためのopensslをダウンロードすることができます:

64ビット用OpenSSL

2ビット用のOpenSSL

374
Usama Sarwar

このようにパス全体を使用してください。

exportcert -alias androiddebugkey -keystore ~/.Android
/debug.keystore | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\op
enssl.exe" base64

それは私のために働きました。

22
Kaloyan Drenski

次の手順に従ってください。あなたの鍵が正しく機能することを願っています。

  1. ステップ1OpenSSLが必要になります。バイナリは、Google Codeの openssl-for-windows プロジェクトからダウンロードできます。

  2. ステップ2フォルダを解凍し、binフォルダへのパスをクリップボードにコピーします。

    たとえば、ファイルがC:\Users\gaurav\openssl-0.9.8k_WIN32の場所に解凍された場合は、パスC:\Users\gaurav\openssl-0.9.8k_WIN32\binをコピーします。

  3. ステップ3システム環境のパスにパスを追加します。 PATH環境変数を設定したら、cmdを開いて次のコマンドを入力します。

    C:\>keytool -exportcert -alias androiddebugkey -keystore [path to debug.keystore] | openssl sha1 -binary | openssl base64
    

    要求されたらパスワードを入力します。コマンドが機能する場合は、キーが表示されます。

18

これは私のためにうまく働きました。

"" C:¥Program Files¥Java¥jdk1.6.0_26¥bin¥keytool.exe "-exportcert -alias sociallisting -keystore" D:\ keystore\SocialListing "|" C:\ cygwin\bin\openssl。 exeファイル "sha1 - バイナリ|" C:\ cygwin\bin\openssl.exe "base64

以下のパスに注意してください。

  • "" C:¥Program Files¥Java¥jdk1.6.0_26¥bin¥keytool.exe "
  • "D:\ keystore\SocialListing"またはこのようになります。 "C:\ Users\Shaon.Android\debug.keystore"
  • "C:\ cygwin\bin\openssl.exe"またはこのようになりますC:\ Users\openssl\bin\openssl.exe

コマンドが正常に機能したら、次のコマンドが表示されます。

キーストアのパスワードを入力してください:typeyourpassword

暗号化ハッシュキー**

11

これは遅い回答ですが、私のような怠惰な人々の助けになるでしょう。このコードをあなたのApplicationクラスに追加してください。opensslをダウンロードしたりパスを設定する必要はありません。ログに生成されます。

import com.facebook.FacebookSdk;
public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        FacebookSdk.sdkInitialize(getApplicationContext());
        AppEventsLogger.activateApp(this);
        printKeyHash();
    }

    private void printKeyHash() {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.i("KeyHash:",
                        Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
        } catch (PackageManager.NameNotFoundException e) {
            Log.e("jk", "Exception(NameNotFoundException) : " + e);
        } catch (NoSuchAlgorithmException e) {
            Log.e("mkm", "Exception(NoSuchAlgorithmException) : " + e);
        }
    }
}

マニフェストにMyApplicationクラスを追加することを忘れないでください。

<application
        Android:name=".MyApplication"
</application>
10
Sagar Chavada

まずcmd cd c:¥Program Files(x86)¥Java¥jre7¥binにあるJava/jre/binフォルダーに移動します。

次に、[debug.keystoreのパスをシステムの正しい場所に変更します] opensslをインストールします(Windows 32または64の場合はc:\ opensslに必要に応じて)。

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\vibhor\.Android\debug.keystore" | "c:\openssl\bin\openssl.exe" sha1 -binary | "c:\openssl\bin\openssl.exe" base64

そのため、コマンド全体は次のようになります。[実行時にキーストアのパスワードを入力するように求める]

c:\Program Files (x86)\Java\jre7\bin>keytool -exportcert -alias androiddebugkey
-keystore "C:\Users\vibhor\.Android\debug.keystore" | "c:\openssl\bin\openssl.ex
e" sha1 -binary | "c:\openssl\bin\openssl.exe" base64
Enter keystore password:
6
Vibhor Kashyap
Steps to create Hash Key. 
1: Download openssl from Openssl for Windows . I downloaded the Win64 version 
2:Unzip and copy all the files in the bin folder including openssl.exe(All file of bin folder) 
3:Goto to the folder where you installed JDK for me it’s C:\Program Files\Java\jdk1.8.0_05\bin 
4:Paste all the files you copied from Openssl’s bin folder to the Jdk folder. 

次にC:¥Program Files¥Java¥jdk1.8.0_05¥binに移動し、Shiftキーを押しながらcmdを右クリックして開きます。

C:\Program Files\Java\jdk1.8.0_05\bin>//cmd path 

これはSha1がこれを過ぎたためです
keytool -exportcert -alias androiddebugkey -keystore "C:\ User\ABC\.Android.keystore" | openssl sha1 - バイナリ| openssl base64
//そしてABCはシステム名で、独自のシステム名が入ります

4
sandhu

私はこのコードを使いました:

これは私のためにうまく働きました。

"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias sociallisting -
keystore "D:\keystore\SocialListing" | "C:\cygwin\bin\openssl.exe" sha1 -binary | 
"C:\cygwin\bin\openssl.exe" base64
2
Nguyễn Kim

これを使用して私のために働いた。パスを変更してください

C:¥Program Files¥Java¥jre7¥bin keytool -exportcert -alias androiddebugkey -keystore "C:\ Users\Ace.Android\debug.keystore" | "C:\ openssl\bin

\ openssl.exe "sha1-binary |" C:\ openssl\bin\openssl.exe "base64

2
Azahar

ダウンロードと解凍

あなたは以下のそれぞれのリンクから窓32と64ビットのためのopensslをダウンロードすることができます:

https://code.google.com/archive/p/openssl-for-windows/downloads

64ビット用のOpenSSL 32ビット用のOpenSSL

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.Android\debug.keystore | **"C:\Users\keshav.gera\openssl-0.9.8k_X64\bin**\openssl.exe" sha1 -binary | **"C:\Users\keshav.gera\openssl-0.9.8k_X64\bin**\openssl.exe" base64

重要なパスを変更するここにあなたのシステムにopen sslをインストールするだけでなく

それは間違いなく働いています

C:\Users\keshav.gera>keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.Android\debug.keystore | "C:\Users\keshav.gera\openssl-0.9.8k_X64\bin\openssl.exe" sha1 -binary | "C:\Users\keshav.gera\openssl-0.9.8k_X64\bin\openssl.exe" base64

キーストアのパスワードを入力してください:Android

**ZrRtxw36xWNYL+h3aJdcCeQQxi0=**

=================================================== ===========

手動でコーディングする

import Android.content.pm.PackageInfo;
import Android.content.pm.PackageManager;
import Android.content.pm.Signature;
import Java.security.MessageDigest;
import Java.security.NoSuchAlgorithmException;


private void PrintHashKey() {

        try {
            PackageInfo info = getPackageManager().getPackageInfo("**com.keshav.patanjalidemo  Your Package Name Here**", PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");        
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }

    }
1
Keshav Gera

cmdのbinフォルダのパスに移動してから、次のコマンドを実行します。

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.Android\debug.keystore | openssl sha1 -binary | openssl base64

キーハッシュを取得します

0
DjP

これは私のために働く:

C:\Users\example>keytool -exportcert -alias androiddebugkey -keystore 
"C:\Users\example\.Android" | "C:\openssl\bin\openssl.exe" sha1 -binary 
| "C:\openssl\bin\oenssl.exe" base64
0
Manish

windowsユーザーのためにGoogleのコードレポジトリからopen sslをダウンロードする https://code.google.com/p/openssl-for-windows/downloads/list

ダウンロードが完了したら、コンテンツをできればc:ドライブのフォルダに解凍します。

その後、PATH環境変数を更新して、コマンドラインの任意の場所から.exeを使用できるようにします。

[windows 8] PATH環境変数を更新するには、[マイコンピュータ] - > [プロパティ] - > [システムの詳細設定]の順にクリックします。

[詳細設定]タブをクリックし、ダイアログ下部の[環境変数]ボタンをクリックしてから、[システム変数]セクションから[編集]をクリックしてパスエントリを選択します。

展開したopensslダウンロードのbinフォルダへのパスを貼り付けて、[OK]をクリックします。

更新されたパス設定を読み込むことができるように、以前に起動した可能性があるプロンプトを閉じて開いてコマンドを実行する必要があります。

今このコマンドを実行します。

keytool -exportcert -alias androiddebugkey -keystore "C:\ Users\Oladipo.Android\debug.keystore" | openssl sha1 - バイナリ| openssl base64

開発者キーが表示されます。

0
Oladipo Olasemo

OpensslのWindowsバイナリ版(32bitと64bit)をインストールするためのより最近の場所を探している人は、ここでそれを見つけることができます。

http://slproweb.com/products/Win32OpenSSL.html

バイナリ配布を提供しているウェブサイトの最新リストはこちらです。

http://www.openssl.org/related/binaries.html

0
Haze