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を取得できた。