今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

JDK1.6と1.7でkeytoolの暗号化アルゴリズムが違う件

AndroidでMapActivityを使おうと思って、apiKeyを取得するためにkeytoolを使った。
生成されたフィンガプリントをGoogle Codeのサイトに貼りつけたら、やたら文字化けした画面に飛んでるし、apiKeyも取得できてないっぽい。
シェルに出てる文字列をよく見ると、暗号化アルゴリズムMD5じゃなくてSHA1になってた。

androiddebugkey,2012/04/12, PrivateKeyEntry, 
証明書のフィンガプリント(SHA1): XX:XX:XX:XX:XX:...

ぐぐってみたら、JDK1.7のkeytoolはSHA1を使うらしい。

強引に絶対パスでJDK1.6のkeytoolを使ってみた。

satoshi$ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/keytool -list -keystore ~/.android/debug.keystore 
(略)
androiddebugkey, 2012/04/12, PrivateKeyEntry, 
#ؖ####̃t#B###K#[#v#####g (MD5): XX:XX:XX:XX:....

なんか文字化けしてるけど、MD5を使ってるらしい。
ここで生成されたフィンガプリントをGoogle Codeのページに貼りつけたら、無事にapiKeyを取得できた。