From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- security/manager/ssl/EnterpriseRoots.h | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 security/manager/ssl/EnterpriseRoots.h (limited to 'security/manager/ssl/EnterpriseRoots.h') diff --git a/security/manager/ssl/EnterpriseRoots.h b/security/manager/ssl/EnterpriseRoots.h new file mode 100644 index 0000000000..25567d4511 --- /dev/null +++ b/security/manager/ssl/EnterpriseRoots.h @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef EnterpriseRoots_h +#define EnterpriseRoots_h + +#include "ScopedNSSTypes.h" +#include "mozpkix/Input.h" +#include "mozpkix/Result.h" +#include "nsTArray.h" + +class EnterpriseCert { + public: + EnterpriseCert(const uint8_t* data, size_t len, bool isRoot) + : mDER(data, len), mIsRoot(isRoot) {} + EnterpriseCert(const EnterpriseCert& other) + : mDER(other.mDER.Clone()), mIsRoot(other.mIsRoot) {} + EnterpriseCert(EnterpriseCert&& other) + : mDER(std::move(other.mDER)), mIsRoot(other.mIsRoot) {} + + void CopyBytes(nsTArray& dest) const; + mozilla::pkix::Result GetInput(mozilla::pkix::Input& input) const; + bool GetIsRoot() const; + // Is this certificate a known, built-in root? + bool IsKnownRoot(mozilla::UniqueSECMODModule& rootsModule); + + private: + nsTArray mDER; + bool mIsRoot; +}; + +// This may block and must not be called from the main thread. +nsresult GatherEnterpriseCerts(nsTArray& certs); + +#endif // EnterpriseRoots_h -- cgit v1.2.3