amitaymolko / react-native-rsa-native

A native implementation of RSA key generation and encryption/decryption.
MIT License
232 stars 112 forks source link

[iOS] RSAKeychain.decrypt in v2.x.x is incompatible with encrypted data from v1.x.x #121

Open coopermaruyama opened 2 years ago

coopermaruyama commented 2 years ago

After attempting to upgrade from v1.x of this library to v2.x, there is a fatal exception thrown in the encrypt() method when calling the following method:

// In react native JS Code:
await RSAKeychain.decrypt(encryptedBase64Data, KEY_TAG)

Which throws the following exception in the encrypt() method in RSAECNative.swift:

Unexpectedly found nil while unwrapping an Optional value

This only occurs if the key pair was initially created using v1.x of the library before it was re-written using Swift.

coopermaruyama commented 2 years ago

@saeedkargosha maybe you can chime in since you did the swift rewrite -- is your rewrite for this method equivalent to the Objective C version?

If not -- maybe you can point me to some docs where I can find the equivalent methods and I'll be happy to add a PR to add methods in the swift version that are backwards-compatible for people trying to upgrade/

madsnk-sekoia commented 2 years ago

Is there any updates on this issue? We are experiencing an issue that looks like it could be related to this.