PHP-REACT验证加密签名
我在Reaction Native中使用此程序包进行生物识别身份验证:https://www.npmjs.com/package/react-native-biometrics
它将一个公钥发送到我们的PHP服务器,然后发送一个加密签名,我们在其中进行了验证。
有没有什么库可以用来根据PHP中的加密签名验证公钥?
解决方案
我就是这么做的
- 将
public key
保存到数据库 - 每次尝试生物识别时,该库将向PHP发送
signature
和payload
- 比较
signature
与public key
- 成功时验证用户,因为
openssl_verify
将返回0或1
第3步的代码为
Openssl_verify( $有效负载, Base64_Decode($Signrature_In_Step_3), $PUBLIC_KEY_SAVED_IN_STEP_1, RSA-SHA256&Quot; );
ps:确保步骤1中的public key
格式正确,否则openssl_verify
将抛出异常:在使用openssl_verify
$public_key_saved_in_step_1 = openssl_pkey_get_public("-----BEGIN PUBLIC KEY-----
$publicKeyStringFromDB
-----END PUBLIC KEY-----");
相关文章