8 #include "Arp/System/Core/AppDomainSingleton.hxx"     9 #include "Arp/System/Commons/Logging.h"    10 #include "Arp/System/Commons/Security/Asn1Time.hpp"    11 #include "Arp/System/Commons/Security/ItemInfo.hpp"    12 #include "Arp/System/Commons/Security/Internal/OpenSslBio.hpp"    16 #include <openssl/x509.h>    17 #include <openssl/x509v3.h>    21 namespace Arp { 
namespace System { 
namespace Commons { 
namespace Security
    35     Certificate(
const std::vector<byte>& pemOrDerEncoding);
    45     operator X509*() 
const;
    49     static String Rfc2253Format(X509_NAME* name);
    61     static String GetAttributeValueByNid(X509_NAME *name, 
int nid);
    70     static String HexString(ASN1_INTEGER* integer);
    77     const String& GetFilename(
void) 
const;
    80     String GetSerialNumberHex(
void) 
const;
    83     String GetSubject(
void) 
const;
    86     String GetSubjectCommonName(
void) 
const;
    89     String GetSubjectSerialNumber(
void) 
const;
    92     String GetIssuer(
void) 
const;
    95     String GetIssuerCommonName(
void) 
const;
    98     const String& GetIdentifier(
void) 
const;
   101     DateTime GetValidityNotBefore(
void) 
const;  
   104     Asn1Time GetValidityNotBeforeAsn1(
void) 
const;
   107     DateTime GetValidityNotAfter(
void) 
const;  
   110     Asn1Time GetValidityNotAfterAsn1(
void) 
const;
   113     std::vector<byte> GetPemData(
void) 
const;
   116     std::vector<byte> GetDerData(
void) 
const;
   123     void LoadFromFile(
const String& filename);
   126     int LoadFromMemory(
const std::vector<byte>& data, 
int offset = 0);
   133     bool TryLoadFromMemory(
const std::vector<byte>& data, 
int& offset);
   140     bool TryLoadFromBio(
OpenSslBio& bio, 
int& offset);
   143     void SaveToFilePem(
const String& filename) 
const;
   146     void AppendToFilePem(
const String& filename) 
const;
   149     void SaveToFileDer(
const String& filename) 
const;
   156     void generateIdentifier(
void);
   160     X509* internalCertificate;
   171 inline Certificate::operator X509*() 
const   173     return this->internalCertificate;
   178     return this->filename;
 Definition: OpenSslBio.hpp:10
 
Class to handle x.509 certificates
Definition: Certificate.hpp:25
 
The class contains date and time informations.
Definition: DateTime.hpp:43
 
Definition: Loggable.hxx:18
 
Root namespace for the PLCnext API
 
Definition: ItemInfo.hpp:11
 
Definition: OpenSslBio.hpp:13
 
System components used by the System, Device, Plc or Io domains.
 
const String & GetFilename(void) const
returns the filename were this x.509 certificate was loaded from
Definition: Certificate.hpp:176
 
Helper class to handle ASN1Time objects in x.509 Certificates
Definition: Asn1Time.hpp:22