2015年6月2日火曜日

[android]Confirm Credential

Confirm Credential を読んでみます。
Android M Developer Previewのサンプルの一つです。

ここに概要が書いてありまして、直近のアンロック操作を自前のアプリでも使えるようにしてくれるもののようです。これによりアプリ専用のパスワードをユーザが覚える必要はないし、開発者も自前で認証処理を書かなくてよくなるシロモノらしいです。

・Activity1個、レイアウト1個のシンプルなサンプルです。
・android.app.KeyguardManagerが2箇所で使われています。
 ・ひとつはonCreate内でKeyguardManager#isKeyguardSecureです。これがfalseの場合は"Go to 'Settings -> Security -> Screenlock' to set up a lock screen"「設定に行って、ロックスクリーンの設定をしてね」というToastを出してこのアプリは何もしていません
 ・もうひとつは認証画面の起動Intentを作ってくれるみたいです。
KeyguardManager#createConfirmDeviceCredentialIntent(CharSequence title, CharSequence description)でIntentがかえってくるのでstartActivityForResultしています。結果はもちろんonActivityResultで、認証が通った場合にはもちろんRESULT_OKです。
・onCreateの中では、createKey()というprivateメソッドで「Creates a symmetric key in the Android Key Store 」を作っています。java.security.KeyStore、javax.crypto.KeyGeneratorというクラスのインスタンスを使っています。
・Purchaseボタンが押されたときは、tryEncriptというprivateメソッドで、KeyStore、SecretKey、Chipherクラスのインスタンスを使っています。
・createKey()、tryEncript()の中身は正直よくわかりませんがそういうものなのでしょう!



0 件のコメント:

コメントを投稿