Closed Shamar closed 8 years ago
Perhaps someone who knows what they are looking at could look at s2n for suitability. It does appears to at least some of what is in libsec. https://github.com/awslabs/s2n
Thanks @mennis I'll give a look. For this issue, after a little study, I did considered LibreSSL's libcrypto the best candidate. But currently this issue is obsolete.
@rminnich and @hdonnay are working to provide an alternative approach. Indeed the majoirity of the Harvey community prefers to vendor the cryptography.
Actually @mennis s2n seems a pretty good piece of code. But not suitable to replace libsec, as it delegates to other libraries (OpenSSL, LibreSSL and so on) the actual cryptography.
Ah, ok, I misunderstood a portion of a talk I saw.
Replaced by #32.
Given we want to replace libsec, we need a modern well established crypto library that will replace it. Since it's required by the kernel (random number generation, devtls and so on), it's going to be part of our core system.
Thus we need
To minimize the risk of introducing bugs in the code we get, we adopt a convention based, automated process:
upstream/
,port/*
and any further temporary item requiredsha256sum
against a known valid checksumupstream/
folder (if not already present)Then in each custom project we can do the automatic port (carefully using tools and semantics available on Harvey user space). Any header added to /sys/include during the process must be added to
$HARVEY/.gitignore
and conforms to the Harvey conventions (that is, it should not contains macro guards or #ifdef unrelated to Harvey)This way we
NOTE This process is specifically designed for cryptographic tools that are going to be part of the core native system. It does not impose or propose any rule or constraint on other kind of native or glibc based port.