/*** Copyright (C) 2022-2024 Jamie Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuPrivateKeyPair.hpp Date: 2022-8-27 Author: Reece ***/ #pragma once #include namespace Aurora::Crypto::KeyPair { struct PrivateKeyPairImpl : IPrivateKeyPair, AuEnableSharedFromThis { PrivateKeyPairImpl(); PrivateKeyPairImpl(const AuSPtr &pCertificateChain); ~PrivateKeyPairImpl(); virtual AuSPtr GetChain() override; X509::CertificateChain *ToChain(); mbedtls_pk_context &GetInternal(); private: AuSPtr pCertificateChain; mbedtls_pk_context privateKey_; }; }