feat: ESSR tunneling with KERIA API
This will require a new dev release after https://github.com/WebOfTrust/keria/pull/351 is merged, but locally all the integration tests pass.
HTTP requests between Signify and KERIA are now wrapped/tunneled in ESSR (encrypted HTTP request inside the body of a signed wrapper HTTP request) for confidentiality and general improvements.
createSignedRequest can still be used to use the old method of signed headers in case any projects or extensions are using that for web interactions.
Codecov Report
Attention: Patch coverage is 99.21260% with 1 line in your changes missing coverage. Please review.
Project coverage is 84.01%. Comparing base (
cddb007) to head (a214c0c). Report is 15 commits behind head on main.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/keri/app/clienting.ts | 96.00% | 1 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #304 +/- ##
==========================================
+ Coverage 83.64% 84.01% +0.36%
==========================================
Files 48 48
Lines 4238 4328 +90
Branches 1042 1064 +22
==========================================
+ Hits 3545 3636 +91
+ Misses 663 662 -1
Partials 30 30
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
@iFergal Great to see this security hardening!
Since Authenticater / Authenticator is exported and its spelling changed, this might suggest a version change?
Note that WebCrypto in Chrome browser will soon support X25519, so when that's available, it might be a more performant alternative to libsodium when signify-ts is used in browser extensions. Could be a separate backlog item to abstract the crypto library interface. [X25519 algorithm of the Web Cryptography API](https://chromestatus.com/feature/6291245926973440)
@edeykholt The 0.3.0 branch was cut recently, so this will be on the next version anyway.
Regarding web crypto, this is great to see but we need more than just X25519 from libsodium. crypto box seal from libsodium provides the hybrid public key encryption described in the SPAC paper.
This has diverged too much from main, so closing and opening a new one.