PSSLPrivateKey Class Reference

Private key for SSL. More...

#include <pssl.h>

Inheritance diagram for PSSLPrivateKey:

PObject List of all members.

Public Member Functions

 PSSLPrivateKey ()
 Create an empty private key.
 PSSLPrivateKey (unsigned modulus, void(*callback)(int, int, void *)=NULL, void *cb_arg=NULL)
 Create a new RSA private key.
 PSSLPrivateKey (const PFilePath &keyFile, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
 Create a new private key given the file.
 PSSLPrivateKey (const BYTE *keyData, PINDEX keySize)
 Create private key from the binary ASN1 DER encoded data specified.
 PSSLPrivateKey (const PBYTEArray &keyData)
 Create private key from the binary ASN1 DER encoded data specified.
 PSSLPrivateKey (const PSSLPrivateKey &privKey)
 Create a copy of the private key.
PSSLPrivateKeyoperator= (const PSSLPrivateKey &privKay)
 Create a copy of the private key.
 ~PSSLPrivateKey ()
 Destroy and release storage for private key.
 operator evp_pkey_st * () const
 Get internal OpenSSL private key structure.
PBoolean Create (unsigned modulus, void(*callback)(int, int, void *)=NULL, void *cb_arg=NULL)
 Create a new private key.
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 &keyFile, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
 Load private key from file.
PBoolean Save (const PFilePath &keyFile, PBoolean append=false, PSSLFileTypes fileType=PSSLFileTypeDEFAULT)
 Save private key to file.

Protected Attributes

evp_pkey_st * key

Detailed Description

Private key for SSL.

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


Constructor & Destructor Documentation

PSSLPrivateKey::PSSLPrivateKey (  ) 

Create an empty private key.

PSSLPrivateKey::PSSLPrivateKey ( unsigned  modulus,
void(*)(int, int, void *)  callback = NULL,
void *  cb_arg = NULL 
)

Create a new RSA private key.

Parameters:
modulus  Number of bits
callback  Progress callback function
cb_arg  Argument passed to callback

PSSLPrivateKey::PSSLPrivateKey ( const PFilePath keyFile,
PSSLFileTypes  fileType = PSSLFileTypeDEFAULT 
)

Create a new private key given the file.

The type of the private 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  Private key file
fileType  Type of file to read

PSSLPrivateKey::PSSLPrivateKey ( const BYTE *  keyData,
PINDEX  keySize 
)

Create private key from the binary ASN1 DER encoded data specified.

Parameters:
keyData  Private key data
keySize  Size of private key data

PSSLPrivateKey::PSSLPrivateKey ( const PBYTEArray keyData  ) 

Create private key from the binary ASN1 DER encoded data specified.

Parameters:
keyData  Private key data

PSSLPrivateKey::PSSLPrivateKey ( const PSSLPrivateKey privKey  ) 

Create a copy of the private key.

PSSLPrivateKey::~PSSLPrivateKey (  ) 

Destroy and release storage for private key.


Member Function Documentation

PString PSSLPrivateKey::AsString (  )  const

Get the certificate as ASN1 DER base64 encoded data.

PBoolean PSSLPrivateKey::Create ( unsigned  modulus,
void(*)(int, int, void *)  callback = NULL,
void *  cb_arg = NULL 
)

Create a new private key.

Parameters:
modulus  Number of bits
callback  Progress callback function
cb_arg  Argument passed to callback

PBYTEArray PSSLPrivateKey::GetData (  )  const

Get the certificate as binary ASN1 DER encoded data.

PBoolean PSSLPrivateKey::Load ( const PFilePath keyFile,
PSSLFileTypes  fileType = PSSLFileTypeDEFAULT 
)

Load private key from file.

The type of the private 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  Private key file
fileType  Type of file to read

PSSLPrivateKey::operator evp_pkey_st * (  )  const [inline]

Get internal OpenSSL private key structure.

PSSLPrivateKey& PSSLPrivateKey::operator= ( const PSSLPrivateKey privKay  ) 

Create a copy of the private key.

PBoolean PSSLPrivateKey::Save ( const PFilePath keyFile,
PBoolean  append = false,
PSSLFileTypes  fileType = PSSLFileTypeDEFAULT 
)

Save private key to file.

The type of the private 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  Private key file
append  Append to file
fileType  Type of file to write


Member Data Documentation

evp_pkey_st* PSSLPrivateKey::key [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