internal void StartAuthentication(FingerprintManager fingerprintManager, FingerprintManager.CryptoObject cryptoObject) { CancellationSignal cancellationSignal = new CancellationSignal(); if (ActivityCompat.CheckSelfPermission(mainActivity, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } fingerprintManager.Authenticate(cryptoObject, cancellationSignal, 0, this, null); }
internal void _startAutentificare(FingerprintManager amp, FingerprintManager.CryptoObject criptat) { CancellationSignal _semnal = new CancellationSignal(); if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(_amprenta, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } amp.Authenticate(criptat, _semnal, 0, this, null); }
public void StartListening(FingerprintManager.CryptoObject cryptoObject) { if (!IsFingerprintAuthAvailable) { return; } mCancellationSignal = new CancellationSignal(); mSelfCancelled = false; mFingerprintManager.Authenticate(cryptoObject, mCancellationSignal, 0 /* flags */, this, null); mIcon.SetImageResource(Resource.Drawable.ic_fp_40px); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); Button logInButton = FindViewById <Button>(Resource.Id.logInButton); logInButton.Click += (s, e) => { Intent intent = new Intent(this, typeof(HomeActivity)); this.StartActivity(intent); }; KeyguardManager keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); FingerprintManager fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(this, "FingerPrint authentication permission not enable", ToastLength.Short).Show(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(this, "Register at least one fingerprint in Settings", ToastLength.Short).Show(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(this, "Lock screen security not enable in Settings", ToastLength.Short).Show(); } else { GenKey(); } if (CipherInit()) { FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher); FingerprintHandler handler = new FingerprintHandler(this); handler.StartAuthentication(fingerprintManager, cryptoObject); } } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.biometric_activity); if (this.Intent.Extras != null) { transactionObject = JsonConvert.DeserializeObject <TransactionObject>(Intent.GetStringExtra("transactionObject")); user = JsonConvert.DeserializeObject <User>(Intent.GetStringExtra("users")); } KeyguardManager keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); FingerprintManager fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(this, "FingerPrint authentication permission not enable", ToastLength.Short).Show(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(this, "Register at least one fingerprint in Settings", ToastLength.Short).Show(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(this, "Lock screen security not enable in Settings", ToastLength.Short).Show(); } else { GenKey(); } if (CipherInit()) { FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher); FingerprintHandler handler = new FingerprintHandler(this, transactionObject, user); handler.StartAuthentication(fingerprintManager, cryptoObject); } } } }
private void _autentificareAmprenta(object ob, EventArgs ev) { KeyguardManager _manager = (KeyguardManager)GetSystemService(KeyguardService); FingerprintManager _amprente = (FingerprintManager)GetSystemService(FingerprintService); if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, _permisiune) != (int)Android.Content.PM.Permission.Granted) { return; } if (!_amprente.IsHardwareDetected) { Toast.MakeText(this, "The use of fingertip authentication is disabled", ToastLength.Short).Show(); } else { if (!_amprente.HasEnrolledFingerprints) { Toast.MakeText(this, "No fingertips registered in our app", ToastLength.Short).Show(); } else { if (!_manager.IsKeyguardSecure) { Toast.MakeText(this, "Please enable lock screen security!", ToastLength.Short).Show(); } else { _algoritmCriptare(); } if (_genereazaCifru()) { FingerprintManager.CryptoObject _criptat = new FingerprintManager.CryptoObject(_cifru); CreatorAmprenta _creator = new CreatorAmprenta(this); _creator._startAutentificare(_amprente, _criptat); gotoCriptare.Visibility = ViewStates.Visible; gotoGPS.Visibility = ViewStates.Visible; gotoContinut.Visibility = ViewStates.Visible; ftipTV.Text = "Now you can use any of the options below"; gotoCriptare.Click += _accesCriptarePosibil; gotoGPS.Click += _accesGPSPosibil; gotoContinut.Click += _accesContinutPosibil; } } } }
public override bool Init() { Kp2aLog.Log("FP: Init for Dec"); try { _keystore.Load(null); var key = _keystore.GetKey(GetAlias(_keyId), null); var ivParams = new IvParameterSpec(_iv); _cipher.Init(CipherMode.DecryptMode, key, ivParams); _cryptoObject = new FingerprintManager.CryptoObject(_cipher); return(true); } catch (KeyPermanentlyInvalidatedException e) { Kp2aLog.Log("FP: KeyPermanentlyInvalidatedException." + e.ToString()); return(false); } catch (KeyStoreException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (CertificateException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (UnrecoverableKeyException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (IOException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (InvalidKeyException e) { throw new RuntimeException(FailedToInitCipher, e); } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); var keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); var fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(this, "Fingerprint authentication permission not enalbe", ToastLength.Long).Show(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(this, "Register at least one fingerprint in Settings", ToastLength.Long).Show(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(this, "Lock screen security not enable in Settings", ToastLength.Long).Show(); } else { GenKey(); } if (CipherInit()) { var cryptoObject = new FingerprintManager.CryptoObject(cipher); var helper = new FingerprintHandler(this); helper.StartAuthentication(fingerprintManager, cryptoObject); } } } }
public override bool InitCipher() { try { _keystore.Load(null); var key = _keystore.GetKey(GetAlias(_keyId), null); _cipher.Init(CipherMode.EncryptMode, key); _cryptoObject = new FingerprintManager.CryptoObject(_cipher); return(true); } catch (KeyPermanentlyInvalidatedException) { return(false); } catch (KeyStoreException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (CertificateException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (UnrecoverableKeyException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (IOException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(FailedToInitCipher, e); } catch (InvalidKeyException e) { throw new RuntimeException(FailedToInitCipher, e); } }
public void Authenticate() { KeyguardManager keyguardManager = (KeyguardManager)Forms.Context.GetSystemService("keyguard"); FingerprintManager fingerprintManager = (FingerprintManager)Forms.Context.GetSystemService("fingerprint"); if (ActivityCompat.CheckSelfPermission(Forms.Context, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(Forms.Context, "FingerPrint authentication permission not enable", ToastLength.Short).Show(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(Forms.Context, "Register at least one fingerprint in Settings", ToastLength.Short).Show(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(Forms.Context, "Lock screen security not enable in Settings", ToastLength.Short).Show(); } else { GenKey(); } if (CipherInit()) { FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher); StartAuthentication(fingerprintManager, cryptoObject); } } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); KeyguardManager keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); FingerprintManager fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(this, GetString(Resource.String.fingerPrintPermissionDisabled), ToastLength.Short).Show(); return; } if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(this, GetString(Resource.String.fingerPrintNotRegister), ToastLength.Short).Show(); return; } if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(this, GetString(Resource.String.lockscreenDisabled), ToastLength.Short).Show(); return; } GetKey(); if (CipherInit()) { FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher); FingerPrintHandler helper = new FingerPrintHandler(this); helper.StartAuthentication(fingerprintManager, cryptoObject); } }
/// <summary> /// Sets the crypto object to be passed in when authenticating with fingerprint. /// </summary> /// <param name="cryptoObject">Crypto object.</param> public void SetCryptoObject (FingerprintManager.CryptoObject cryptoObject) { mCryptoObject = cryptoObject; }
/// <summary> /// Sets the crypto object to be passed in when authenticating with fingerprint. /// </summary> /// <param name="cryptoObject">Crypto object.</param> public void SetCryptoObject(FingerprintManager.CryptoObject cryptoObject) { mCryptoObject = cryptoObject; }
private void InitLogin() { bool fingerprint = !string.IsNullOrEmpty(Utils.GetDefaults("fingerprint")) && Convert.ToBoolean(Utils.GetDefaults("fingerprint")); if (!fingerprint && !string.IsNullOrEmpty(Utils.GetDefaults("UserPin"))) { StartActivity(typeof(PinActivity)); return; } FingerprintManagerCompat checkHardware = FingerprintManagerCompat.From(this); var keyguardManager1 = (KeyguardManager)GetSystemService(KeyguardService); if (fingerprint && checkHardware.IsHardwareDetected && keyguardManager1.IsKeyguardSecure) { SetContentView(Resource.Layout.activity_finger); var animationView = FindViewById <LottieAnimationView>(Resource.Id.animation_view); var filter = new SimpleColorFilter(ContextCompat.GetColor(this, Resource.Color.colorAccent)); animationView.AddValueCallback(new KeyPath("**"), LottieProperty.ColorFilter, new LottieValueCallback(filter)); //Using the Android Support Library v4 var keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); var fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); var btn = FindViewById <Button>(Resource.Id.btn_pin); btn.Click += (sender, e) => { StartActivity(typeof(PinActivity)); }; if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(this, "Nu exista permisiuni pentru autentificare utilizand amprenta", ToastLength.Long).Show(); LoadLoginUi(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(this, "Nu ati inregistrat nici o amprenta in setari", ToastLength.Long).Show(); LoadLoginUi(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(this, "Telefonul trebuie sa fie securizat utilizand senzorul de amprente", ToastLength.Long).Show(); LoadLoginUi(); } else { GenKey(); } if (!CipherInit()) { return; } var cryptoObject = new FingerprintManager.CryptoObject(_cipher); var helper = new FingerprintHandler(this); helper.StartAuthentication(fingerprintManager, cryptoObject); helper.FingerprintAuth += delegate(object sender, FingerprintHandler.FingerprintAuthEventArgs args) { if (args.Status) { StartActivity(typeof(MainActivity)); Finish(); } else { var filterError = new SimpleColorFilter( ContextCompat.GetColor(this, Resource.Color.accent)); animationView.AddValueCallback(new KeyPath("**"), LottieProperty.ColorFilter, new LottieValueCallback(filterError)); var vibrator = (Vibrator)GetSystemService(VibratorService); vibrator?.Vibrate(VibrationEffect.CreateOneShot(100, VibrationEffect.DefaultAmplitude)); if (args.ErrorsCount != 5) { return; } Toast.MakeText(this, "5 incercari gresite de verificare a amprentelor!", ToastLength.Long).Show(); } }; } } } else if (!fingerprint) { LoadLoginUi(); } else if (!checkHardware.IsHardwareDetected) { Toast.MakeText(this, "Nu aveti senzor de amprente pe telefon", ToastLength.Long) .Show(); LoadLoginUi(); } else if (!keyguardManager1.IsKeyguardSecure) { Toast.MakeText(this, "Telefonul trebuie sa fie securizat utilizand senzorul de amprente", ToastLength.Long).Show(); LoadLoginUi(); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.FingerPrintAuth); String nombreArchivo = "app-bco_security.sqlite"; String rutaCarpeta = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); String ruta = System.IO.Path.Combine(rutaCarpeta, nombreArchivo); var key = new Contenido() { Password = KEY_NAME }; DatabaseHelper.Insertar(ref key, ruta); KeyguardManager keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); FingerprintManager fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { Toast.MakeText(ApplicationContext, "Lector de huella no habilitado en tu dispositivo", ToastLength.Long).Show(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { Toast.MakeText(ApplicationContext, "Debes enrolar tu huella del dispositivo", ToastLength.Long).Show(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(ApplicationContext, "No tienes habilitada la configuracion del scaner dactilar", ToastLength.Long).Show(); } else { GenKey(); } if (CipherInit()) { FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher); FingerprintHandler helper = new FingerprintHandler(this); helper.StartAuthentication(fingerprintManager, cryptoObject); } } } lblTituloAsociaHuella = FindViewById <TextView>(Resource.Id.lblTituloAsociaHuella); lblTextoIndicacionAsociacion1 = FindViewById <TextView>(Resource.Id.lblTextoIndicacionAsociacion1); lblTextoIndicacionAsociacion2 = FindViewById <TextView>(Resource.Id.lblTextoIndicacionAsociacion2); lblTextoIndicacionAsociacion3 = FindViewById <TextView>(Resource.Id.lblTextoIndicacionAsociacion3); lblTextoIndicacionAsociacion4 = FindViewById <TextView>(Resource.Id.lblTextoIndicacionAsociacion4); lblTextoIndicacionAsociacion5 = FindViewById <TextView>(Resource.Id.lblTextoIndicacionAsociacion5); btnOmitirEnrolado = FindViewById <ImageView>(Resource.Id.btnOmitirEnrolado); btnOmitirEnrolado.Click += BtnOmitirEnrolado_Click; var fontRegular = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumRegular); var fontSemiBold = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumSemiBold); lblTituloAsociaHuella.Typeface = fontSemiBold; lblTextoIndicacionAsociacion1.Typeface = fontRegular; lblTextoIndicacionAsociacion2.Typeface = fontSemiBold; lblTextoIndicacionAsociacion3.Typeface = fontRegular; lblTextoIndicacionAsociacion4.Typeface = fontRegular; lblTextoIndicacionAsociacion5.Typeface = fontRegular; }
protected override void OnCreate(Bundle savedInstanceState) { ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateServerCertificate); base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.LoginConocido); nombreConocido = MainActivity.returnNombreConsultaEnrolado(); nombreDesdeConfirmacion = ConfirmacionEnroladoActivity.returnNombreConsultaEnroladoConocido(); nombreTitulo = nombreConocido; if (string.IsNullOrEmpty(nombreTitulo)) { nombreTitulo = nombreDesdeConfirmacion; } string nombreLogin = nombreTitulo; nombreUsuario = nombreLogin.Split(' '); primerNombreUsuario = nombreUsuario[0].ToLower(); segundoNombreUsuario = nombreUsuario[1].ToLower(); parametriaLogUtil = new ParametriaLogUtil(); string primeraLetraPrimerNombre = primerNombreUsuario.Substring(0, 1).ToUpper(); string restoPrimernombreFormateado = primerNombreUsuario.Substring(1, primerNombreUsuario.Length - 1); primerNombreFormateado = primeraLetraPrimerNombre + restoPrimernombreFormateado; if (!string.IsNullOrEmpty(segundoNombreUsuario)) { string primeraLetraSegundoNombre = segundoNombreUsuario.Substring(0, 1).ToUpper(); string restoSegundonombreFormateado = segundoNombreUsuario.Substring(1, segundoNombreUsuario.Length - 1); segundoNombreFormateado = primeraLetraSegundoNombre + restoSegundonombreFormateado; } string nombreUserFormateado = primerNombreFormateado + " " + segundoNombreFormateado; rutConocido = MainActivity.returnRutConsultaEnrolado(); rutDesdeConfirmacion = ConfirmacionEnroladoActivity.returnRutConsultaEnroladoConocido(); rutDefinitivo = rutConocido; if (string.IsNullOrEmpty(rutDefinitivo)) { rutDefinitivo = rutDesdeConfirmacion; } String nombreArchivo = "app-bco_security.sqlite"; String rutaCarpeta = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); String ruta = System.IO.Path.Combine(rutaCarpeta, nombreArchivo); KEY_NAME = DatabaseHelper.pass(ruta); KeyguardManager keyguardManager = (KeyguardManager)GetSystemService(KeyguardService); FingerprintManager fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService); if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted) { return; } if (!fingerprintManager.IsHardwareDetected) { //Toast.MakeText(ApplicationContext, "Lector de huella no habilitado", ToastLength.Long).Show(); } else { if (!fingerprintManager.HasEnrolledFingerprints) { //Toast.MakeText(ApplicationContext, "Debes enrolar tu huella a la app", ToastLength.Long).Show(); } else { if (!keyguardManager.IsKeyguardSecure) { Toast.MakeText(ApplicationContext, "No tienes habilitada la configuracion del scaner dactilar", ToastLength.Short).Show(); } else { GenKey(); } if (CipherInit()) { FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher); FingerprintHandlerLogin helperLogin = new FingerprintHandlerLogin(this); helperLogin.StartAuthentication(fingerprintManager, cryptoObject); } } } txtUsernameConocido = FindViewById <TextView>(Resource.Id.txtUsernameConocido); txtUsernameConocido.Text = "Hola, " + nombreUserFormateado; txtClaveConocido = FindViewById <EditText>(Resource.Id.txtClaveConocido); lblMensajeConocido = FindViewById <TextView>(Resource.Id.lblMensajeConocido); txtInputClaveConocido = FindViewById <TextInputLayout>(Resource.Id.txtInputClaveConocido); btnIniciaSesionConocido = FindViewById <Button>(Resource.Id.btnIniciaSesionConocido); btnIniciaSesionConocido.Click += BtnIniciaSesionConocido_ClickAsync; btnProblemasClaveConocido = FindViewById <ImageView>(Resource.Id.btnProblemasClaveConocido); btnProblemasClaveConocido.Click += BtnProblemasClaveConocido_Click; txtClaveConocido.TextChanged += TxtClaveConocido_TextChanged; btnAyudaLoginConocido = FindViewById <ImageView>(Resource.Id.btnAyudaLoginConocido); var fontRegular = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumRegular); var fontSemiBold = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumSemiBold); txtUsernameConocido.Typeface = fontRegular; btnIniciaSesionConocido.Typeface = fontSemiBold; txtClaveConocido.Typeface = fontRegular; txtInputClaveConocido.Typeface = fontRegular; lblMensajeConocido.Typeface = fontRegular; lineTxtClaveConocido = FindViewById <View>(Resource.Id.lineTxtClaveConocido); dialogoLoadingBcoSecurityActivity = new DialogoLoadingBcoSecurityActivity(this); }