AuroraRuntime/Source/Crypto/KeyPair/AuPrivateKeyPair.hpp

29 lines
792 B
C++
Raw Normal View History

/***
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 <Source/Crypto/X509/AuCertificateChain.hpp>
namespace Aurora::Crypto::KeyPair
{
struct PrivateKeyPairImpl : IPrivateKeyPair, AuEnableSharedFromThis<PrivateKeyPairImpl>
{
PrivateKeyPairImpl();
PrivateKeyPairImpl(const AuSPtr<X509::ICertificateChain> &pCertificateChain);
~PrivateKeyPairImpl();
virtual AuSPtr<X509::ICertificateChain> GetChain() override;
X509::CertificateChain *ToChain();
mbedtls_pk_context &GetInternal();
private:
AuSPtr<X509::ICertificateChain> pCertificateChain;
mbedtls_pk_context privateKey_;
};
}