Search

JDKのkeytoolコマンドで署名ファイルを作成し、EclipseでAndroidアプリに署名を付ける方法を説明します。

keytoolコマンドで署名ファイルの作成

unknown

  1. 管理者権限でコマンドプロンプトを開きます。 (コマンドプロンプトを右クリックして「管理者として実行」を押す)

  2. keytoolコマンドで署名ファイルを作成します。
    「キーストア名」には、keystoreの生成先と署名ファイル名。
    「妥当性日数」には、証明書の有効期限を日数で指定します。

    #keytool -genkey -v -keystore キーストア名 -alias 鍵アルゴリズム名 -keyalg 署名アルゴリズム名 -validity 妥当性日数
    #「keytool.exe」があるJDKのbinフォルダに移動
    C:\Windows\system32> cd C:\Program Files\Java\jdk1.7.0\bin Enter
    
    #keytoolコマンドで署名ファイルを作成
    C:\Program Files\Java\jdk1.7.0\bin>
    keytool -genkey -v -keystore C:\Users\cocoism\.android\pjrdev.keystore -alias pjrdev -keyalg RSA -validity 10000
     Enter
    キーストアのパスワードを入力してください: パスワード Enter
    新規パスワードを再入力してください: パスワード Enter
    姓名を入力してください。
    #個人の場合、組織単位名と組織名のところはpersonalでよいかと。
      [Unknown]:  hoge sama Enter
    組織単位名を入力してください。
      [Unknown]:  personal Enter
    組織名を入力してください。
      [Unknown]:  personal Enter
    都市名または地域名を入力してください。
      [Unknown]:  shibuya Enter
    都道府県名を入力してください。
      [Unknown]:  tokyo Enter
    この単位に該当する2文字の国コードを入力してください。
      [Unknown]:  JP Enter
    CN=hoge sama, OU=hoge inc., O=hoge inc., L=shibuya, ST=tokyo, C=JPでよろしいですか。
      [いいえ]:  はい Enter
    
    10,000日間有効な2,048ビットのRSAの鍵ペアと自己署名型証明書(SHA256withRSA)を生成しています
     ディレクトリ名: CN=hoge sama, OU=personal, O=personal, L=shibuya, ST=tokyo, C=JP
    <pjrdev>の鍵パスワードを入力してください
     (キーストアのパスワードと同じ場合はRETURNを押してください): パスワード Enter
    新規パスワードを再入力してください:
    新しい証明書(自己署名型):
    [
    ・・・略・・・
    ]
    [C:\Users\.android\pjrdev.keystoreを格納中]
    
    C:\Program Files\Java\jdk1.7.0\bin>
    

    ※以下は、コマンドのオプションです。

    keytool -genkeypair [オプション]...
    -alias <alias>                  処理するエントリの別名
    -keyalg <keyalg>                鍵アルゴリズム名
    -keysize <keysize>              鍵のビット・サイズ
    -sigalg <sigalg>                署名アルゴリズム名 ※例:RSA
    -destalias <destalias>          出力先の別名
    -dname <dname>                  識別名
    -startdate <startdate>          証明書の有効開始日時
    -ext <value>                    X.509拡張
    -validity <valDays>             妥当性日数 ※10000推奨
    -keypass <arg>                  鍵のパスワード
    -keystore <keystore>            キーストア名
    -storepass <arg>                キーストアのパスワード
    -storetype <storetype>          キーストアのタイプ
    -providername <providername>    プロバイダ名
    -providerclass <providerclass>  プロバイダ・クラス名
    -providerarg <arg>              プロバイダ引数
    -providerpath <pathlist>        プロバイダ・クラスパス
    -v                              詳細出力
    -protected                      保護メカニズムによるパスワード
    
    C:\Program Files\Java\jdk1.7.0\bin> keytool -help
    キーおよび証明書管理ツール
    コマンド:
    -certreq            証明書リクエストを生成します
    -changealias        エントリの別名を変更します
    -delete             エントリを削除します
    -exportcert         証明書をエクスポートします
    -genkeypair         鍵ペアを生成します
    -genseckey          秘密鍵を生成します
    -gencert            証明書リクエストから証明書を生成します
    -importcert         証明書または証明書チェーンをインポートします
    -importkeystore     別のキーストアから1つまたはすべてのエントリをインポートします
    -keypasswd          エントリの鍵パスワードを変更します
    -list               キーストア内のエントリをリストします
    -printcert          証明書の内容を出力します
    -printcertreq       証明書リクエストの内容を出力します
    -printcrl           CRLファイルの内容を出力します
    -storepasswd        キーストアのストア・パスワードを変更します
    
  3. keytoolコマンドで指定した場所にkeystoreファイルが作成されているはずです。

Eclipseからapkファイルへに署名を付ける

unknown

  1. Eclipse起動

    Eclipseを起動したら署名を付けるプロジェクト名を右クリックし、「プロパティ」→「Androidツール」→「Export Signed Application Package...」をクリックします。

  2. プロジェクトの確認

    プロジェクト名を確認し、そのまま次へをクリックします。

    Project Checkcs - Export Android ApplicationProject Checkcs - Export Android Application
  3. キーストアの選択

    「Use existing keystore」を選択します。
    ロケーション名は、署名ファイル(***.keystore)を選択します。
    キーストアのパスワードを入力し、次へをクリックします。

    ※ここで入力するパスワードは署名ファイル作成時に設定した「キーストアのパスワード」です。

    Keystore selection - Export Android ApplicationKeystore selection - Export Android Application
  4. キーエイリアスの選択

    「Use existing keystore」を選択します。
    エイリアスは署名ファイル作成時に設定した「鍵アルゴリズム名」を選択します。
    その鍵のパスワードを入力し、次へをクリックします。

    ※ここで入力するパスワードは署名ファイル作成時に設定した「phの鍵パスワード」です。

    Key alias selection - Export Android ApplicationKey alias selection - Export Android Application
  5. デスティネーションと証明書/鍵の確認

    「Destination APK fine」に、署名付きのapkファイルの出力先を指定し、完了をクリックします。

    Destination and key/certificate checks - Export Android ApplicationDestination and key/certificate checks - Export Android Application

    指定した先に、apkファイルが出力されているはずです。

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop