Comments (3)
Google has no short term plans, but it's definitely of interest for the long term.
- Our implementation is in C++ and uses several internal libs in our monorepo, so it's hard to extract.
- I'd like to release a reference implementation for an SXG cache (including verification), but am leaning towards Rust for memory safety. Let me know if you have compelling reasons for a C implementation first.
- In the meantime, I'd welcome external contributions. (With a "things may break" disclaimer until the design is stabilized and behavior well-tested.)
- Alternatively, it may be possible to libify chromium's parser, though I don't know how easy. It has a lot of deps on other parts of chromium.
from libsxg.
I don't really have a compelling reason for a C implementation first, my project uses C++ so I guess it would suit me to have it that way but that sounds more like a me problem. Would you welcome contributions made to this repo, first by adding a parser for the format, and after that adding verification methods?
Thanks for the links to chromiums parser, its a great reference.
from libsxg.
Yeah, that plan sounds great. Some recommendations (but I'm flexible):
- If the new feature dramatically increases the binary size or adds new dependencies, put it behind a cmake option.
- If possible, avoid OpenSSL functions that aren't also available in BoringSSL. (We made that mistake, and had to add some ifdefs and cmake options to address that retroactively.)
As an aside, it seems like you can embed Rust in C. AFAIK it has a minimal runtime but I'm not an expert.
from libsxg.
Related Issues (20)
- Add MacOS to CI
- fatal error: openssl/evp.h: No such file or directory
- Investigate linting markdown in CI
- Resource leak HOT 1
- Debian compilation instructions
- Build option list
- Provide build option to generate static build HOT 1
- Provide build option to skip/disable sxg_cert_chain HOT 1
- use alternative methods for base64 encoding/decoding in order to support BoringSSL HOT 1
- Mixed sign comparison
- Ensure value is positive before casting size_t to uint64_t in calls to sxg_write_utf8_cbor_header
- length of signature is not consistent HOT 6
- Add a test setup for BoringSSL HOT 1
- Reenable nfail_malloc_test
- OCSP check: add sleep with exponential backoff and limited # of retries
- OCSP check: Fix and re-enable CertChainTest.SendRequest
- sxg_add_ecdsa_signer should error if name is invalid
- CMAKE error when following instructions in README.txt HOT 7
- Error: Implicit declaration of function ‘EVP_DigestSign’
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libsxg.