結論
react-native-simple-crypto を使う。
- node-rsa → スターの数からしても一番メジャーっぽいが、 React Native 上で動かそうとすると constants の非存在によりエラー となる。うまくやれば解決できそうな気もするが……。
- react-native-rsa → 暗号化 /復号はできるので、それが目的なら使えそう(未検証)。しかし署名 / 署名検証の直接的なメソッドがない。
- react-native-rsa-native → iOS で不正な署名を正当だと誤判定するバグ があり、致命的。使えない。
- react-native-simple-crypto → 動く。ただし不正な署名を渡した場合にアプリごとクラッシュすることがあるので、それが問題であれば別途対策をする必要がある。