#include <optional>
#include <string_view>
#include <openssl/pki/certificate.h>
#include <openssl/pool.h>
#include "cert_errors.h"
#include "encode_values.h"
#include "parsed_certificate.h"
#include "pem.h"
#include "parse_values.h"
BSSL_NAMESPACE_BEGIN
namespace {
std::shared_ptr<const bssl::ParsedCertificate> ParseCertificateFromDer(
bssl::Span<const uint8_t>cert, std::string *out_diagnostic) { … }
}
struct CertificateInternals { … };
Certificate::Certificate(std::unique_ptr<CertificateInternals> internals)
: … { … }
Certificate::~Certificate() = default;
Certificate::Certificate(Certificate&& other) = default;
std::unique_ptr<Certificate> Certificate::FromDER(bssl::Span<const uint8_t> der,
std::string *out_diagnostic) { … }
std::unique_ptr<Certificate> Certificate::FromPEM(std::string_view pem,
std::string *out_diagnostic) { … }
bool Certificate::IsSelfIssued() const { … }
Certificate::Validity Certificate::GetValidity() const { … }
bssl::Span<const uint8_t> Certificate::GetSerialNumber() const { … }
BSSL_NAMESPACE_END