8#include "Arp/System/Commons/Logging.h"
9#include "Arp/System/Commons/Security/KeyPairType.hpp"
10#include "Arp/System/Commons/Security/Internal/OpenSslBio.hpp"
11#include "Arp/System/Commons/Security/Internal/OpenSslEVP_PKEY.hpp"
13#include <openssl/x509.h>
15namespace Arp {
namespace System {
namespace Commons {
namespace Security
18using namespace Arp::System::Commons::Security::Internal;
72 void GenerateKeyPair(KeyPairType type);
82 void ReadKeyType(
void);
96 return this->opensslkey;
101 return this->keyType;
Definition: Loggable.hxx:20
Definition: OpenSslEVP_PKEY.hpp:17
class which represents a asymmetric key pair
Definition: KeyPair.hpp:22
void InitSslContext(SSL_CTX *pSslCtx) const
KeyPair(const KeyPair &arg)=delete
Copy constructor.
EVP_PKEY * GetPkey()
returns a pointer to the OpenSSL EVP_PKEY* structure initialized with this KeyPair
Definition: KeyPair.hpp:94
KeyPairType GetKeyType()
summary>saves this KeyPair to a file in PEM format (the private key is not encrypted!...
Definition: KeyPair.hpp:99
void WriteToFile(const String &filename)
std::vector< byte > GetPublicKey()
summary>Returns the type of this key pair
virtual void LoadFromFile(const String &filename)
Loads the KeyPair from a PEM encoded file filename
KeyPair()
Constructs an KeyPair
virtual ~KeyPair(void)
Destructs this instance and frees all resources.
KeyPair & operator=(const KeyPair &arg)=delete
Assignment operator.
void LoadFromMemory(const std::vector< byte > &data)
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API