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

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:
Generated on Fri Oct 14 01:44:13 2011 for PTLib by  doxygen 1.4.7