Подтвердить открытый ключ с помощью подписи - реагировать на собственную биометрию

Я пытаюсь использовать реагировать на собственные биометрические данные, но после того, как я создал и сохранил открытый ключ (как состояние в приведенном ниже примере кода), он никогда не совпадает с подписью, созданной впоследствии тем же пальцем. Как проверить отпечаток пальца?

код:

registerFingerPrint = () => {
    Biometrics.isSensorAvailable()
    .then((biometryType) => {
      if (biometryType === Biometrics.TouchID) {
        Biometrics.createKeys('Confirm fingerprint')
        .then((publicKey) => {
          console.info("create", publicKey)
          this.setState({
            create: publicKey
          })
        })
      } 
    })
  }

  fingerPrintCheck = () => {
    Biometrics.createSignature('Sign in', payload)
    .then((signature) => {
      if (this.state.create === signature){
        console.info("success");
      }else {
        console.info('failure'); //always returns failure here
      }
    })
  }

  render() {
    return (
      <View style = {styles.container}>

        <TouchableHighlight onPress = {()=> this.registerFingerPrint()}>
          <Text style = {{ marginBottom: 10}}>
            Register
          </Text>
        </TouchableHighlight>

        <TouchableHighlight onPress = {()=> this.fingerPrintCheck()}>
          <Text>
            Authenticate with Biometrics
          </Text>
        </TouchableHighlight>
      </View>
    );
  }
}
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
0
750
1

Ответы 1

 let epochTimeSeconds = Math.round((new Date()).getTime() / 1000).toString()
 let payload = epochTimeSeconds +'some message' ;

  Biometrics.createSignature('Sign in Test', payload)
  .then((signature) => {
    console.info(payload+" signature "+signature)
    verifySignatureWithServer(signature, payload)
  })

вам нужно проверить проверку на стороне сервера, используя сгенерированную комбинацию подписи и полезной нагрузки.

перейдите на этот сайт и вставьте сгенерированный открытый ключ, подпись, полезную нагрузку и проверьте ее.

https://8gwifi.org/RSAFunctionality?rsasignverifyfunctions=rsasignverifyfunctions&keysize=512

Другие вопросы по теме