#include "parse_certificate.h"
#include <gtest/gtest.h>
#include <openssl/pool.h>
#include "cert_errors.h"
#include "general_names.h"
#include "input.h"
#include "parsed_certificate.h"
#include "test_helpers.h"
BSSL_NAMESPACE_BEGIN
namespace {
std::string ToString(const der::GeneralizedTime &time) { … }
std::string GetFilePath(const std::string &file_name) { … }
void RunCertificateTest(const std::string &file_name) { … }
TEST(ParseCertificateTest, Version3) { … }
TEST(ParseCertificateTest, Skeleton) { … }
TEST(ParseCertificateTest, NotSequence) { … }
TEST(ParseCertificateTest, DataAfterSignature) { … }
TEST(ParseCertificateTest, MissingSignature) { … }
TEST(ParseCertificateTest, SignatureNotBitString) { … }
TEST(ParseCertificateTest, EmptySequence) { … }
TEST(ParseCertificateTest, AlgorithmNotSequence) { … }
void RunTbsCertificateTestGivenVersion(const std::string &file_name,
CertificateVersion expected_version) { … }
void RunTbsCertificateTest(const std::string &file_name) { … }
TEST(ParseTbsCertificateTest, Version3NoOptionals) { … }
TEST(ParseTbsCertificateTest, Version3WithExtensions) { … }
TEST(ParseTbsCertificateTest, Version1) { … }
TEST(ParseTbsCertificateTest, ExplicitVersion1) { … }
TEST(ParseTbsCertificateTest, Version1WithExtensions) { … }
TEST(ParseTbsCertificateTest, Version2WithExtensions) { … }
TEST(ParseTbsCertificateTest, Version2NoOptionals) { … }
TEST(ParseTbsCertificateTest, Version2IssuerUniqueId) { … }
TEST(ParseTbsCertificateTest, Version2IssuerAndSubjectUniqueId) { … }
TEST(ParseTbsCertificateTest, Version3AllOptionals) { … }
TEST(ParseTbsCertificateTest, Version4) { … }
TEST(ParseTbsCertificateTest, Version3DataAfterExtensions) { … }
TEST(ParseTbsCertificateTest, Version3Real) { … }
TEST(ParseTbsCertificateTest, ValidityBothUtcTime) { … }
TEST(ParseTbsCertificateTest, ValidityBothGeneralizedTime) { … }
TEST(ParseTbsCertificateTest, ValidityUTCTimeAndGeneralizedTime) { … }
TEST(ParseTbsCertificateTest, ValidityGeneralizedTimeAndUTCTime) { … }
TEST(ParseTbsCertificateTest, ValidityRelaxed) { … }
TEST(ParseKeyUsageTest, OneBitAllZeros) { … }
TEST(ParseKeyUsageTest, 32BitsAllZeros) { … }
TEST(ParseKeyUsageTest, 32BitsOneSet) { … }
TEST(ParseKeyUsageTest, ThreeBits) { … }
TEST(ParseKeyUsageTest, DecipherOnly) { … }
TEST(ParseKeyUsageTest, Empty) { … }
TEST(ParseAuthorityInfoAccess, BasicTests) { … }
TEST(ParseAuthorityInfoAccess, NoOcspOrCaIssuersURIs) { … }
TEST(ParseAuthorityInfoAccess, IncompleteAccessDescription) { … }
TEST(ParseAuthorityInfoAccess, ExtraDataInAccessDescription) { … }
TEST(ParseAuthorityInfoAccess, EmptySequence) { … }
class ParseCrlDistributionPointsTest : public ::testing::Test { … };
TEST_F(ParseCrlDistributionPointsTest, OneUriNoIssuer) { … }
TEST_F(ParseCrlDistributionPointsTest, ThreeUrisNoIssuer) { … }
TEST_F(ParseCrlDistributionPointsTest, CrlIssuerAsDirname) { … }
TEST_F(ParseCrlDistributionPointsTest, FullnameAsDirname) { … }
TEST_F(ParseCrlDistributionPointsTest, RelativeNameAndReasonsAndMultipleDPs) { … }
TEST_F(ParseCrlDistributionPointsTest, NoDistributionPointName) { … }
TEST_F(ParseCrlDistributionPointsTest, OnlyReasons) { … }
TEST_F(ParseCrlDistributionPointsTest, EmptyDistributionPoint) { … }
TEST_F(ParseCrlDistributionPointsTest, EmptyDistributionPoints) { … }
bool ParseAuthorityKeyIdentifierTestData(
const char *file_name, std::string *backing_bytes,
ParsedAuthorityKeyIdentifier *authority_key_identifier) { … }
TEST(ParseAuthorityKeyIdentifierTest, EmptyInput) { … }
TEST(ParseAuthorityKeyIdentifierTest, EmptySequence) { … }
TEST(ParseAuthorityKeyIdentifierTest, KeyIdentifier) { … }
TEST(ParseAuthorityKeyIdentifierTest, IssuerAndSerial) { … }
TEST(ParseAuthorityKeyIdentifierTest, KeyIdentifierAndIssuerAndSerial) { … }
TEST(ParseAuthorityKeyIdentifierTest, IssuerOnly) { … }
TEST(ParseAuthorityKeyIdentifierTest, SerialOnly) { … }
TEST(ParseAuthorityKeyIdentifierTest, InvalidContents) { … }
TEST(ParseAuthorityKeyIdentifierTest, InvalidKeyIdentifier) { … }
TEST(ParseAuthorityKeyIdentifierTest, InvalidIssuer) { … }
TEST(ParseAuthorityKeyIdentifierTest, InvalidSerial) { … }
TEST(ParseAuthorityKeyIdentifierTest, ExtraContentsAfterIssuerAndSerial) { … }
TEST(ParseAuthorityKeyIdentifierTest, ExtraContentsAfterExtensionSequence) { … }
TEST(ParseSubjectKeyIdentifierTest, EmptyInput) { … }
TEST(ParseSubjectKeyIdentifierTest, Valid) { … }
TEST(ParseSubjectKeyIdentifierTest, ExtraData) { … }
}
BSSL_NAMESPACE_END