DCMTK  Version 3.6.3
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SiPrivateKey Class Reference

a class representing a private key. More...

Public Member Functions

 SiPrivateKey ()
 default constructor
 
virtual ~SiPrivateKey ()
 destructor
 
void setPrivateKeyPasswd (const char *thePasswd)
 sets the password string to be used when loading an encrypted private key file in PEM format (ASN.1/DER encoded files are never encrypted). More...
 
void setPrivateKeyPasswdFromConsole ()
 sets the password string to be used when loading an encrypted private key file to be read from the console stdin.
 
OFCondition loadPrivateKey (const char *filename, int filetype)
 loads a private key from file. More...
 
E_KeyType getKeyType () const
 returns the type of public key stored in this certificate
 
SiAlgorithmcreateAlgorithmForPrivateKey ()
 creates an SiAlgorithm object for the private key contained in this certificate. More...
 
OFBool matchesCertificate (SiCertificate &cert)
 checks if the private key and the certificate set using setPrivateKeyFile() and setCertificateFile() match, i.e. More...
 
EVP_PKEY * getRawPrivateKey ()
 provides access to the raw private key in OpenSSL format. More...
 

Private Member Functions

 SiPrivateKey (SiPrivateKey &arg)
 private undefined copy constructor
 
SiPrivateKeyoperator= (SiPrivateKey &arg)
 private undefined copy assignment operator
 

Private Attributes

OFString privateKeyPasswd
 contains the password for the private key if set on command line
 
OFBool usePrivateKeyPassword
 true if the privateKeyPasswd contains the password, false otherwise.
 
EVP_PKEY * pkey
 the private key managed by this object, may be NULL if not loaded yet
 

Detailed Description

a class representing a private key.

Member Function Documentation

◆ createAlgorithmForPrivateKey()

SiAlgorithm* SiPrivateKey::createAlgorithmForPrivateKey ( )

creates an SiAlgorithm object for the private key contained in this certificate.

If no key is loaded or operation fails, returns NULL. New SiAlgorithm object must be deleted by caller.

Returns
pointer to new SiAlgorithm object

◆ getRawPrivateKey()

EVP_PKEY* SiPrivateKey::getRawPrivateKey ( )

provides access to the raw private key in OpenSSL format.

Use with care!

Returns
raw private key in OpenSSL format

◆ loadPrivateKey()

OFCondition SiPrivateKey::loadPrivateKey ( const char *  filename,
int  filetype 
)

loads a private key from file.

If the private key is in encrypted PEM format, the password is either read from console (default) or taken from an internal setting created with setPrivateKeyPasswd().

Parameters
filenamefile name of key
filetypefile format: X509_FILETYPE_PEM or X509_FILETYPE_ASN1
Returns
status code

◆ matchesCertificate()

OFBool SiPrivateKey::matchesCertificate ( SiCertificate cert)

checks if the private key and the certificate set using setPrivateKeyFile() and setCertificateFile() match, i.e.

if they establish a private/public key pair.

Returns
OFTrue if private key and certificate match, OFFalse otherwise.

◆ setPrivateKeyPasswd()

void SiPrivateKey::setPrivateKeyPasswd ( const char *  thePasswd)

sets the password string to be used when loading an encrypted private key file in PEM format (ASN.1/DER encoded files are never encrypted).

Must be called prior to loadPrivateKey() in order to be effective.

Parameters
thePasswdpassword string, may be "" or NULL in which case an empty password is assumed.

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


Generated on Mon Feb 5 2018 for DCMTK Version 3.6.3 by Doxygen 1.8.14