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> 15 namespace Arp {
namespace System {
namespace Commons {
namespace Security
50 virtual void LoadFromFile(
const String& filename);
54 void LoadFromMemory(
const std::vector<byte>& data);
58 void InitSslContext(SSL_CTX* pSslCtx)
const;
62 std::vector<byte> GetPublicKey();
65 KeyPairType GetKeyType();
68 void WriteToFile(
const String& filename);
72 void GenerateKeyPair(KeyPairType type);
82 void ReadKeyType(
void);
96 return this->opensslkey;
101 return this->keyType;
class which represents a asymmetric key pair
Definition: KeyPair.hpp:21
Definition: OpenSslBio.hpp:10
Definition: Loggable.hxx:18
EVP_PKEY * GetPkey()
returns a pointer to the OpenSSL EVP_PKEY* structure initialized with this KeyPair
Definition: KeyPair.hpp:94
Root namespace for the PLCnext API
Definition: OpenSslEVP_PKEY.hpp:16
System components used by the System, Device, Plc or Io domains.
KeyPairType GetKeyType()
summary>saves this KeyPair to a file in PEM format (the private key is not encrypted!)
Definition: KeyPair.hpp:99