# PSSLCertificate Class Reference

Certificate for SSL. More...

`#include <pssl.h>`

Inheritance diagram for PSSLCertificate:

List of all members.

## Public Member Functions

| PSSLCertificate ()
| Create an empty certificate.
| PSSLCertificate (const PFilePath &certFile, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
| Create a new certificate given the file.
| PSSLCertificate (const BYTE *certData, PINDEX certSize)
| Create certificate from the binary ASN1 DER encoded data specified.
| PSSLCertificate (const PBYTEArray &certData)
| Create certificate from the binary ASN1 DER encoded data specified.
| PSSLCertificate (const PString &certString)
| Create certificate from the ASN1 DER base64 encoded data specified.
| PSSLCertificate (const PSSLCertificate &cert)
| Create a copy of the certificate.
PSSLCertificate & | operator= (const PSSLCertificate &cert)
| Create a copy of the certificate.
| ~PSSLCertificate ()
| Destroy and release storage for certificate.
| operator x509_st * () const
| Get internal OpenSSL X509 structure.
PBoolean | CreateRoot (const PString &subject, const PSSLPrivateKey &key)
| Create a new root certificate.
PBYTEArray | GetData () const
| Get the certificate as binary ASN1 DER encoded data.
PString | AsString () const
| Get the certificate as ASN1 DER base64 encoded data.
PBoolean | Load (const PFilePath &certFile, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
| Load certificate from file.
PBoolean | Save (const PFilePath &keyFile, PBoolean append=false, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
| Save certificate to file.

## Protected Attributes

x509_st * | certificate

## 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.

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]`

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

- pssl.h