29 lines
792 B
C++
29 lines
792 B
C++
|
/***
|
||
|
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_;
|
||
|
};
|
||
|
}
|