Reece Wilson
033f7e2453
[+] Aurora::Crypto::X509::GenerateCertificate [*] Fix lazily copied gen1 RSA code [+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP256R1 [+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP256K1 [+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP384R1 [+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP521R1 [*] Unfuck ECC interop [*] Tls pinning: use mbedtls_ssl_conf_verify for tls1.3 (when mbedtls is in a better state)
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
/***
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: GenerateCertificate.hpp
|
|
Date: 2022-11-18
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::IO::TLS
|
|
{
|
|
struct ITLSPrivateKeyPair;
|
|
}
|
|
|
|
namespace Aurora::Crypto::X509
|
|
{
|
|
struct CertRequest
|
|
{
|
|
// subject --
|
|
CertName name;
|
|
|
|
// metadata --
|
|
Hashing::EHashType digest;
|
|
AuUInt8 uVersion { 3 };
|
|
bool bIsCA {};
|
|
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<Aurora::IO::TLS::ITLSPrivateKeyPair> pSigningChain;
|
|
};
|
|
|
|
AUKN_SYM AuResult<Memory::ByteBuffer> GenerateCertificate(const CertRequest &request);
|
|
} |