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として表示されてるみたい。
コメント