J'ai une application qui utilise l'empreinte digitale et 4 broches (qui peut être définie par l'utilisateur dans les paramètres de l'application, ce n'est pas l'identification système/mot de passe).Comment générer KeyPair dans android KeyStore, protégé par mot de passe personnalisé
Avec Empreinte digitale tout va bien, j'ai un problème avec la broche.
Ce que je suis en train de faire est:
- Soit la broche définie par l'utilisateur à partir des paramètres d'application
- Génération paire de clés dans keystore pour certains alias protégés par la broche entrée (de sorte que ne peut pas être accessible clé privée sans cette broche)
- Envoyer la clé publique au serveur pour la vérification de la signature future
- Get jeton utilisateur du serveur et le stocker dans le stockage local
Puis au cours de l'autorisation:
- Demander utilisateur d'entrer la broche
- Récupérer la clé privée par la broche entrée
- Récupérer jeton de stockage local
- jeton signe avec la clé privée à partir de l'étape 6
- Envoyer au serveur avec des données signées
- Vérifier la signature sur le serveur et, si elle est valide, ouvrir la session pour l'utilisateur.
Ma question est: Comment puis-je générer KeyPair protégé par code PIN saisi par l'utilisateur
post-scriptum Pour fingerprint cette logique est gérée par:
KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN).setUserAuthenticationRequired(true)