Android アプリ開発時、 keytool でキーストアの SHA256 が表示されない場合

Posted by: ytyng 3 weeks, 1 day ago

Andoroid の開発で、キーストアを作って keytool で フィンガープリントを表示しようとした時

% keytool -list -v -keystore android/certs/app.jks
キーストアのパスワードを入力してください:
キーストアのタイプ: PKCS12
キーストア・プロバイダ: SUN

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

別名: key0
作成日: 2021/12/26
エントリ・タイプ: PrivateKeyEntry
証明書チェーンの長さ: 1
証明書[1]:
所有者: CN=....
発行者: CN=....
シリアル番号: 37...
有効期間の開始日: Sun Dec 26 11:29:11 JST 2021 終了日: Thu Dec 20 11:29:11 JST 2046
証明書のフィンガプリント:
MD5: AA:5C:31:23:...
SHA1: B1:41:37:24:...
SHA256: SHA256withRSA
署名アルゴリズム名: 2048ビットRSA鍵
サブジェクト公開鍵アルゴリズム: 3
バージョン: {10}

拡張:

と表示されて、SHA256 のところに 本来表示されるはずのフィンガープリントが表示されず、改行すら表示されず「SHA256withRSA...」が続いてしまっている場合。

言語が日本語設定だと表示されない。

StackOverFlow の回答によると、フランス語・ドイツ語の場合、シェル変数 LANG=C を設定すれば良い、とあったが、私の環境ではそれだけではだめだった。

別の StackOverFlow の回答を参考に、keytool のオプションで -J-Duser.language=en を入れたら表示された。

% keytool -J-Duser.language=en -list -v -keystore android/certs/app.jks
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: key0
Creation date: Dec 26, 2021
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=...
Issuer: CN=...
Serial number: 37....
Valid from: Sun Dec 26 11:29:11 JST 2021 until: Thu Dec 20 11:29:11 JST 2046
Certificate fingerprints:
SHA1: AA:5C:31:...
SHA256: B1:41:37:...
Signature algorithm name: SHA256withRSA

書いてから気づいたが、日本語の場合、SHA256 のフィンガープリントが SHA1として表示されてるみたい。

Currently unrated

Comments

Archive

2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011