CryptoObject 데이터에 서명 할 수 있습니다. 데이터에 서명하는 키는 장치의 보안 하드웨어 (보안 요소)에 저장됩니다. 데이터는이 보안 요소에 의해 서명됩니다. 보안 요소는 지문 인식시에만 데이터에 서명 할 수 있습니다. 열쇠는 절대로 보안 요소 밖으로 나가지 않습니다. 읽으십시오 http://android-developers.blogspot.fr/2015/10/new-in-android-samples-authenticating.html
사용자 인증을 원하면 CrytoObject
은 필요하지 않습니다. 보안 저장소 (하드웨어의 보안 요소)에 저장된 키로 데이터를 암호화 또는 암호 해독하려면 CryptoObject
을 사용할 수 있습니다. 이 보안 키는 인증 후에 만 데이터를 암호화하거나 해독 할 수 있습니다.
처리기 선택적으로 Handler
을 제공 할 수 있습니다. 제공되는 경우 FingerprintManager
은 내부 MyHandler 인스턴스에이 Handler
의 루퍼를 사용합니다.
private void useHandler(Handler handler) {
if (handler != null) {
mHandler = new MyHandler(handler.getLooper());
} else if (mHandler.getLooper() != mContext.getMainLooper()) {
mHandler = new MyHandler(mContext.getMainLooper());
}
}
루퍼를 제공하면 실행할 스레드를 정의하고 메시지 로깅을 수신 대기 할 수 있습니다.
Looper looper = Looper.getMainLooper();
looper.setMessageLogging(new Printer() {
@Override
public void println(String x) {
Log.d(TAG, x);
}
});
mFingerprintManager.authenticate(cryptoObject, mCancellationSignal, 0, this, new Handler(looper));
이 https://www.captechconsulting.com/blogs/introducing-androids-fingerprint-api
아름다운 설명, 감사를 읽어 보시기 바랍니다! –
여전히'CryptoObject'의 사용법을 이해하고 있는지 확실하지 않습니다. OS가 사용자의 지문을 인식하여 일부 데이터 나 기능을 잠금 해제하는 것으로 충분하지 않은 이유는 무엇입니까? 이 보안 계층을 사용할 수있는 이유는 무엇이며 단순히 null을 전달하는 것보다 더 선호하는 이유는 무엇입니까? @ laurenty, 이것에 대해 자세히 설명해 주시겠습니까? –
@AlexFu, 내 대답 업데이트 – LaurentY