PTLib  Version 2.10.4
PSSLCertificate Class Reference

Certificate for SSL. More...

#include <pssl.h>

Inheritance diagram for PSSLCertificate:
PObject

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.
PSSLCertificateoperator= (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

Create an empty certificate.

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:
certFileCertificate file
fileTypeType of file to read
PSSLCertificate::PSSLCertificate ( const BYTE *  certData,
PINDEX  certSize 
)

Create certificate from the binary ASN1 DER encoded data specified.

Parameters:
certDataCertificate data
certSizeSize of certificate data

Create certificate from the binary ASN1 DER encoded data specified.

Parameters:
certDataCertificate data
PSSLCertificate::PSSLCertificate ( const PString certString)

Create certificate from the ASN1 DER base64 encoded data specified.

Parameters:
certStringCertificate data as string

Create a copy of the certificate.

Destroy and release storage for certificate.


Member Function Documentation

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:
subjectSubject name for certificate
keyKey to sign certificate with

Get the certificate as binary ASN1 DER encoded data.

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:
certFileCertificate file
fileTypeType 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:
keyFileCertificate key file
appendAppend to file
fileTypeType 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines