SubtleCrypto
https://w3c.github.io/webcrypto/#dfn-SubtleCrypto https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto?retiredLocale=sv-SE
### Related issues
- [ ] https://github.com/awslabs/llrt/issues/125
- [ ] https://github.com/awslabs/llrt/issues/208
~~Missing crypto.createVerify is also a blocker~~ to use aws-jwt-verify.
edit) I found aws-jwt-verify has web browser support (doc), so we should be able to use the package after LLRT will implement SubtleCrypto.
~Missing
crypto.createVerifyis also a blocker~ to useaws-jwt-verify.edit) I found
aws-jwt-verifyhas web browser support (doc), so we should be able to use the package after LLRT will implement SubtleCrypto.
https://www.npmjs.com/package/jose will be out of the box compatible as soon as SubtleCrypto is implemented as well.
Hi @richarddavison do we have any ETAs on the crypto implementation? I'm unable to migrate my codebase to LLRT because I'm blocked due to SubtleCrypto and RSA.
Hi @richarddavison do we have any ETAs on the crypto implementation? I'm unable to migrate my codebase to LLRT because I'm blocked due to SubtleCrypto and RSA.
Hi @ShivamJoker! Thanks for your patience. We are working on it so should be weeks rather than months. It's not a super complex API, but you'd have to hang on for a bit longer 🙂
@richarddavison I was looking into this as well as we'd like to provide a Web Crypto API for our customers. If there's anything I can help with, let me know! I can allocate some time to contribute.
It may also be helpful to use the WebCryptoAPI web-platform-tests once we merge https://github.com/awslabs/llrt/pull/447 which adds the WPT test harness.
@stephencroberts that would be fantastic. We appreciate all the help we could get 👌 Here is a reference implementation (not using the same JS engine, but contains all the algorithms we need so we can take a lot a inspiration from there) https://github.com/lagonapp/lagon/blob/main/crates/runtime_crypto/src/lib.rs
@richarddavison Is there a work-in-progress somewhere or would I start with what's in main?
@richarddavison Is there a work-in-progress somewhere or would I start with what's in
main?
Please start of main and create a draft PR as soon as you have something even if it’s far from complete so we can “tag along” 🙂
FYI @richarddavison, this is on the back burner for now for us, so someone else is free to pick this up. If/when it becomes a priority again for us, I can revisit it.
Also looking to implement an auth use case - the methods that would help would be importKey, verify, sign, generateKey, and exportKey - all from SubtleCrypto.
I've looked at contributing but unfortunately I'm too out of my depth with Rust atm.