All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSSLCertificate Class Reference

Certificate for SSL. More...

`#include <pssl.h>`

Inheritance diagram for PSSLCertificate:

## Public Member Functions

| PSSLCertificate ()
| Create an empty certificate. More...
| PSSLCertificate (const PFilePath &certFile, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
| Create a new certificate given the file. More...
| PSSLCertificate (const BYTE *certData, PINDEX certSize)
| Create certificate from the binary ASN1 DER encoded data specified. More...
| PSSLCertificate (const PBYTEArray &certData)
| Create certificate from the binary ASN1 DER encoded data specified. More...
| PSSLCertificate (const PString &certString)
| Create certificate from the ASN1 DER base64 encoded data specified. More...
| PSSLCertificate (const PSSLCertificate &cert)
| Create a copy of the certificate. More...
PSSLCertificate & | operator= (const PSSLCertificate &cert)
| Create a copy of the certificate. More...
| ~PSSLCertificate ()
| Destroy and release storage for certificate. More...
| operator x509_st * () const
| Get internal OpenSSL X509 structure. More...
PBoolean | CreateRoot (const PString &subject, const PSSLPrivateKey &key)
| Create a new root certificate. More...
PBYTEArray | GetData () const
| Get the certificate as binary ASN1 DER encoded data. More...
PString | AsString () const
| Get the certificate as ASN1 DER base64 encoded data. More...
PBoolean | Load (const PFilePath &certFile, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
| Load certificate from file. More...
PBoolean | Save (const PFilePath &keyFile, PBoolean append=false, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
| Save certificate to file. More...
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Attributes

x509_st * | certificate

## Additional Inherited Members

Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static const char * | Class ()
| Get the name of the class as a C string. More...
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Detailed Description

Certificate for SSL.

This class embodies a common environment for all certificates used by the PSSLContext and PSSLChannel classes.

## Constructor & Destructor Documentation

PSSLCertificate::PSSLCertificate | ( |  | ) |

Create an empty certificate.

PSSLCertificate::PSSLCertificate | ( | const PFilePath & | certFile,
|  | PSSLFileTypes | fileType = `PSSLFileTypeDEFAULT`
| ) |  |

Create a new certificate given the file.

The type of the certificate key can be specified explicitly, or if PSSLFileTypeDEFAULT it will be determined from the file extension, ".pem" is a text file, anything else eg ".der" is a binary ASN1 file.

Parameters

  certFile | Certificate file
  fileType | Type of file to read

PSSLCertificate::PSSLCertificate | ( | const BYTE * | certData,
|  | PINDEX | certSize
| ) |  |

Create certificate from the binary ASN1 DER encoded data specified.

Parameters

  certData | Certificate data
  certSize | Size of certificate data

PSSLCertificate::PSSLCertificate | ( | const PBYTEArray & | certData | ) |

Create certificate from the binary ASN1 DER encoded data specified.

Parameters

  certData | Certificate data

PSSLCertificate::PSSLCertificate | ( | const PString & | certString | ) |

Create certificate from the ASN1 DER base64 encoded data specified.

Parameters

  certString | Certificate data as string

PSSLCertificate::PSSLCertificate | ( | const PSSLCertificate & | cert | ) |

Create a copy of the certificate.

PSSLCertificate::~PSSLCertificate | ( |  | ) |

Destroy and release storage for certificate.

## Member Function Documentation

PString PSSLCertificate::AsString | ( |  | ) | const

Get the certificate as ASN1 DER base64 encoded data.

PBoolean PSSLCertificate::CreateRoot | ( | const PString & | subject,
|  | const PSSLPrivateKey & | key
| ) |  |

Create a new root certificate.

The subject name is a string of the form "/name=value/name=value" where name is a short name for the field and value is a string value for the field for example: "/C=ZA/SP=Western Cape/L=Cape Town/O=Thawte Consulting cc" "/OU=Certification Services Division/CN=Thawte Server CA" "/Email=server-certs@thawte.com"

Parameters

  subject | Subject name for certificate
  key | Key to sign certificate with

PBYTEArray PSSLCertificate::GetData | ( |  | ) | const

Get the certificate as binary ASN1 DER encoded data.

PBoolean PSSLCertificate::Load | ( | const PFilePath & | certFile,
|  | PSSLFileTypes | fileType = `PSSLFileTypeDEFAULT`
| ) |  |

Load certificate from file.

The type of the certificate key can be specified explicitly, or if PSSLFileTypeDEFAULT it will be determined from the file extension, ".pem" is a text file, anything else eg ".der" is a binary ASN1 file.

Parameters

  certFile | Certificate file
  fileType | Type of file to read

PSSLCertificate::operator x509_st * | ( |  | ) | const

inline

Get internal OpenSSL X509 structure.

References certificate.

PSSLCertificate& PSSLCertificate::operator= | ( | const PSSLCertificate & | cert | ) |

Create a copy of the certificate.

PBoolean PSSLCertificate::Save | ( | const PFilePath & | keyFile,
|  | PBoolean | append = `false`,
|  | PSSLFileTypes | fileType = `PSSLFileTypeDEFAULT`
| ) |  |

Save certificate to file.

The type of the certificate key can be specified explicitly, or if PSSLFileTypeDEFAULT it will be determined from the file extension, ".pem" is a text file, anything else eg ".der" is a binary ASN1 file.

Parameters

  keyFile | Certificate key file
  append | Append to file
  fileType | Type of file to write

## Member Data Documentation

x509_st* PSSLCertificate::certificate

protected

Referenced by operator x509_st *().

The documentation for this class was generated from the following file:

- pssl.h