[Android] keytool コマンドの文字化けを解決する方法

Tadashi Shigeoka ·  Wed, September 17, 2014

keytool コマンドで Android アプリの署名に使う keystore ファイルの内容を確認したところ Mac のターミナルで派手に文字化けしてしまいました。

Android

keytool -v -list -keystore my-app.keystore

?L?[?X?g?A?̃p?X???[?h????͂??Ă???????:  

?L?[?X?g?A?̃^?C?v: JKS
?L?[?X?g?A?̃v???o?C?_: SUN

?L?[?X?g?A?ɂ? 1 ?G???g?????܂܂?܂??B

?ʖ?: com.exapmle
?쐬??: 2012/12/10
?G???g???^?C?v: PrivateKeyEntry
?ؖ??A???̒???: 1
?ؖ???[1]:
???L??: O=example.com, C=JP
???s??: O=example.com, C=JP
?V???A???ԍ?: 12b3389e
?L?????Ԃ̊J?n??: Mon Nov 26 18:38:38 JST 2012 ?I????: Fri Nov 20 18:38:38 JST 2037
?ؖ????̃t?B???K?[?v?????g:
   MD5:  17:74:53:02:57:DB:80:62:4A:A6:D9:5F:6B:8D:AC:F2
   SHA1: 12:F5:85:20:58:C6:5E:45:FF:03:AB:74:8F:20:D9:89:86:D5:3F:25
   ?????A???S???Y????: SHA1withRSA
   ?o?[?W????: 3


*******************************************
*******************************************

JDK で利用する文字コードに UTF-8 を指定してあげればいいみたいです。

export _JAVA_OPTIONS='-Dfile.encoding=UTF-8'

keytool の出力結果が文字化けせずに表示されました。

keytool -v -list -keystore  my-app.keystore

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

キーストアのタイプ: JKS
キーストアのプロバイダ: SUN

キーストアには 1 エントリが含まれます。

別名: com.my-app
作成日: 2012/12/10
エントリタイプ: PrivateKeyEntry
証明連鎖の長さ: 1
証明書[1]:
所有者: O=example.com, C=JP
発行者: O=example.com, C=JP
シリアル番号: 12b3389e
有効期間の開始日: Mon Nov 26 18:38:38 JST 2012 終了日: Fri Nov 20 18:38:38 JST 2037
証明書のフィンガープリント:
   MD5:  17:74:53:02:57:DB:80:62:4A:A6:D9:5F:6B:8D:AC:F2
   SHA1: 12:F5:85:20:58:C6:5E:45:FF:03:AB:74:8F:20:D9:89:86:D5:3F:25
   署名アルゴリズム名: SHA1withRSA
   バージョン: 3


*******************************************
*******************************************

参考情報