feat(impl_jni): add JCA RSA-PSS implementation - #341
Conversation
| throw ArgumentError.value( | ||
| saltLength, | ||
| 'saltLength', | ||
| 'must be a positive integer', | ||
| ); |
There was a problem hiding this comment.
nit: zero is a valid rsa-pss salt length, including in our shared vectors, so this should say must be a non-negative integer
There was a problem hiding this comment.
Thanks. Updated the message to must be a non-negative integer.
|
non-blocking follow-up: please record RSA-PSS as a provider/API-level limitation. Android’s hash-specific SHAxxxwithRSA/PSS aliases begin at API 23, while the generic RSASSA-PSS entry is not available on API 9-22. so API 21-22 support is provider-dependent and cannot be guaranteed by this implementation alone. see https://developer.android.com/reference/java/security/Signature |
956a0b7 to
418c42b
Compare
Noted. Recorded this as an inline TODO next to the RSA-PSS provider selection. It documents API 21–22 as provider-dependent and leaves the eventual policy open: document limited support, require API 23, or route unsupported cases through another backend. |
Summary
Adds the JNI/JCA RSA-PSS implementation on top of the Android JCA backend and the persistent RSA key ownership introduced in #323.
This PR implements:
RSASSA-PSSprovider lookup with hash-specific Android aliasesPersistent JCA keys are retained through the shared isolate-unsendable key
owner. JNI arenas are used only for temporary values created by an operation.
Testing
Desktop JNI setup, if it has not been run already:
Verified: