summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibTLS/Certificate.h
AgeCommit message (Collapse)Author
2022-07-12Everywhere: Add sv suffix to strings relying on StringView(char const*)sin-ack
Each of these strings would previously rely on StringView's char const* constructor overload, which would call __builtin_strlen on the string. Since we now have operator ""sv, we can replace these with much simpler versions. This opens the door to being able to remove StringView(char const*). No functional changes.
2022-04-17LibCrypto+LibTLS: Implement Key Usage and Basic Constraints extensionsMichiel Visser
Root and intermediate CA certificates should have these extensions set to indicate that they are allowed to sign other certificates. The values reported in these extensions is now also checked by `verify_chain` to make sure no non-CA certificates are used to sign another certificate. The certificate parser now also aborts when a critical extension is detected which is unsupported, as is required by the specification.
2022-04-17LibTLS: Verify the certificate chain sent by the serverMichiel Visser
With this change the certificate chain sent by the server will actually be verified, instead of just checking the names of the certificates. To determine if a certificate is signed by a root certificate, the list of root certificates is now a HashMap mapping from the unique identifier string to the certificate. This allows us to take the issuer of a certificate and easily check if it is a root certificate. If a certificate is not signed by a root certificate, we will check that it is signed by the next certificate in the chain. This also removes the ad-hoc checking of certificate validity from multiple places, and moves all checking to the verify_chain.
2022-04-17LibTLS: Parse Certificate signature algorithm and valueMichiel Visser
This part of the certificate was originally just skipped, however it will be needed to check the validity of the certificate.
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-02-13LibTLS: Add SHA-384 as supported certificate signing algorithmJoaquim Monteiro
2021-08-08Everywhere: Replace AK::Singleton => SingletonAndreas Kling
2021-05-19LibTLS: Move the asn certificate parser to Certificate.cppDexesTTP
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-18LibTLS: Parse X.509 certificates with the new ASN.1 parserAnotherTest
As a nice side effect, also correctly test for certificate validity :^)
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling