/*** 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 usage; AuUInt8 uSerialRadix { 10 }; AuString sSerial { "69420" }; // validity -- AuSInt iIssuedDateMs {}; AuSInt iExpirationDateMs {}; // public key --- AuSPtr pRSAKey; AuSPtr pECCKey; // private key --- AuSPtr pSelfSigningRSAKey; AuSPtr pSelfSigningECCKey; // or AuSPtr pSigningChain; }; }