J Reece Wilson
7a0593adeb
[+] AuCrypto::CA::INewCertificateStore [+] AuCrypto::CA::IPinCertificate [+] AuCrypto::CA::PinAlwaysFail [+] AuCrypto::CA::PinAlwaysPass [+] AuCrypto::CA::PinCheckOS [+] AuCrypto::CA::PinCheckDefault [+] AuCrypto::CA::PinCheckBuiltin [+] AuCrypto::CA::PinCheckGlobal [+] AuCrypto::CA::PinCheckTwoAnd [+] AuCrypto::CA::PinCheckTwoOr [+] AuCrypto::CA::SetGlobalTLSPinner [*] Minor AuCrypto::X509 decoder work [*] AuCrypto::X509: transition to memory views (x509 is bytebuffer era and earlier code, beri early) [+] AuCrypto::IPrivateKeyProvider [+] AuCrypto::IPrivateKeyPair [+] AuCrypto::PrivateKeyPair [+] AuCrypto::ImportPrivateKeyPair [*] Refactor: AuCrypto::X509::GenerateCertificate(...) [+] AuCrypto::X509::NewChainFromOneDer [+] AuCrypto::X509::NewChainFromManyDer [+] AuCrypto::X509::NewChainFromManyDerInStream [+] AuCrypto::X509::NewChainFromOnePem [+] AuCrypto::X509::NewChainFromManyPem [+] AuCrypto::X509::NewChainFromManyPemInStream [*] Fix TLS code that was abandoned since its introduction with the net code. mbedtls is a hairbrained mess. so many *blocking* github issues starting after 2017. so little progress. [+] AuIO::TLS::TLSMeta::pKeyPairProvider [+] AuIO::TLS::TLSServer::bAllowSNIToFallBackDefault [+] AuIO::TLS::TLSServer::bAllowSNILessUseDefaultCert
49 lines
1.1 KiB
C++
Executable File
49 lines
1.1 KiB
C++
Executable File
/***
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: CertificateRequest.hpp
|
|
File: GenerateCertificate.hpp
|
|
Date: 2022-11-18
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::Crypto::KeyPair
|
|
{
|
|
struct IPrivateKeyPair;
|
|
}
|
|
|
|
namespace Aurora::Crypto::X509
|
|
{
|
|
struct CertificateRequest
|
|
{
|
|
// subject --
|
|
CertificateName name;
|
|
|
|
// metadata --
|
|
Hashing::EHashType digest;
|
|
AuUInt8 uVersion { 3 };
|
|
bool bIsCA { };
|
|
AuInt8 iMaxPathLength { -1 };
|
|
bool bSubjectKeyId { };
|
|
AuList<EExtendedUsage> usage;
|
|
AuUInt8 uSerialRadix { 10 };
|
|
AuString sSerial { "69420" };
|
|
|
|
// validity --
|
|
AuSInt iIssuedDateMs {};
|
|
AuSInt iExpirationDateMs {};
|
|
|
|
// public key ---
|
|
AuSPtr<RSA::IRSAPublic> pRSAKey;
|
|
AuSPtr<ECC::IECCPublic> pECCKey;
|
|
|
|
// private key ---
|
|
AuSPtr<RSA::IRSAPrivate> pSelfSigningRSAKey;
|
|
AuSPtr<ECC::IECCPrivate> pSelfSigningECCKey;
|
|
|
|
// or
|
|
|
|
AuSPtr<KeyPair::IPrivateKeyPair> pSigningChain;
|
|
};
|
|
} |