com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI Class Referenceabstract

This interface is used to expose the SSL attributes for all interfaces that are SSL enabled. More...

#include <nSSLInterfaceAPI.h>

Inheritance diagram for com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI:
com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface com::pcbsys::nirvana::nAdminAPI::nSSLInterface

Public Member Functions

virtual const std::string & getAlias ()=0
 Returns the certificate name/alias that this interface uses as its primary certificate. More...
 
virtual bool getCertRequired ()=0
 Returns whether this interface requires SSL client authentication or not. More...
 
virtual const std::string & getCRLFile ()=0
 Returns the Certificate revocation list that the server uses. More...
 
virtual const std::string & getCRLValidationClassName ()=0
 Any class that extends com.pcbsys.nirvana.server.api.nSSLCertficateValidator can be used by the server to perform CRL management. More...
 
virtual std::string * getEnabledCiphers (int &nCipher)=0
 Returns an array of strings which represent the current Ciphers enabled for use by this interface. More...
 
virtual const std::string & getKeyStore ()=0
 Returns the name of the keystore file that this interface uses to load the certificate from. More...
 
virtual const std::string getPKCS11ConfigFile ()=0
 Get the PKCS11 configuration file used by this SSL interface on the UM server. More...
 
virtual const std::string getPKCS11NSSName ()=0
 Get the PKCS11 NSS name that unique identifies the PKCS11 configuration on the UM server. More...
 
virtual const std::string & getProvider ()=0
 Get the name of the JSSE provider used by this SSL interface. More...
 
virtual const std::string & getRandomAlgorithm ()=0
 Returns the SecureRandom algoritm used for this interface. More...
 
virtual const std::string & getRandomProvider ()=0
 Returns the SecureRandom provider used by this interface. More...
 
virtual std::string * getSupportedCiphers (int &nCipher)=0
 Returns an array of ciphers this this interface can be configured for use by this interface. More...
 
virtual const std::string & getTrustStore ()=0
 Returns the current truststore file that this interface uses to validate the client certificate chain against. More...
 
virtual void setAlias (const std::string &alias)=0
 Sets the certificate name/alias that this interface will use to select its certificate from a keystore with multpiple entries. More...
 
virtual void setCertRequired (bool required)=0
 Specifies whether this interface requires SSL client authentication or not. More...
 
virtual void setCRLFile (const std::string &fileName)=0
 Sets the Certificate revocation list file name that the interface should use to check the incomming ssl connections. More...
 
virtual void setCRLValidationClassName (const std::string &className)=0
 Any class that extends com.pcbsys.nirvana.server.api.nSSLCertficateValidator can be used by the server to perform CRL management. More...
 
virtual void setEnabledCiphers (std::string *pCiphers, int nCipher)=0
 Specifies the names of the ciphers enabled for use by this interface. More...
 
virtual void setKeyStore (const std::string &keyStore)=0
 Sets the keystore file that this interface uses to load the certificate from. More...
 
virtual void setKeyStorePassword (const std::string &keyStorePassword)=0
 Sets the keystore password that this interface will use to access the keystore file specified. More...
 
virtual void setPKCS11ConfigFile (const std::string location)=0
 Sets the name of the PKCS11 configuration used by this SSL interface on the UM server. More...
 
virtual void setPKCS11NSSName (const std::string name)=0
 Sets the name of the PKCS11 NSS name that uniquely identifies the PKCS11 configuration on the UM server. More...
 
virtual void setPrivateKeyPassword (const std::string &password)=0
 Sets the private key password so that the key can be loaded from the key store. More...
 
virtual void setProvider (const std::string &providerName)=0
 Sets the name of the JSSE provider to use for the interface. More...
 
virtual void setRandomAlgorithm (const std::string &alg)=0
 Sets the SecureRandom algorithm to use for this interface. More...
 
virtual void setRandomProvider (const std::string &prov)=0
 Sets the SecureRandom provider to use for this interface. More...
 
virtual void setTrustStore (const std::string &trustStore)=0
 Sets the truststore file that this interface uses to validate the client certificate against. More...
 
virtual void setTrustStorePassword (const std::string &trustStorePassword)=0
 Changes the truststore's password that the server uses to access the trust store. More...
 

Detailed Description

This interface is used to expose the SSL attributes for all interfaces that are SSL enabled.

If a class implements this interface it means that they support the listed API's and that SSL is active.

Member Function Documentation

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getAlias ( )
pure virtual

Returns the certificate name/alias that this interface uses as its primary certificate.

Returns
the Name/Alias of the certificate as a String
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual bool com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getCertRequired ( )
pure virtual

Returns whether this interface requires SSL client authentication or not.

If this is set to false then this interface allows anonymous connections using SSL. Otherwise the client must have and present a valid certificate chain during the SSL handshake.

Returns
a boolean specifying the SSL client authentication setting
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getCRLFile ( )
pure virtual

Returns the Certificate revocation list that the server uses.

Returns
the CRL file name that the interface uses

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getCRLValidationClassName ( )
pure virtual

Any class that extends com.pcbsys.nirvana.server.api.nSSLCertficateValidator can be used by the server to perform CRL management.

The class name can be supplied per interface and then when a client connects a callout is issued to this class to validate the connection.

Returns
current class name of the CRL validation

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual std::string* com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getEnabledCiphers ( int &  nCipher)
pure virtual

Returns an array of strings which represent the current Ciphers enabled for use by this interface.

Parameters
nCipherinteger to hold the size of the array
Returns
pointer to an array of Strings containing the names of the ciphers enabled for use by this interface
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getKeyStore ( )
pure virtual

Returns the name of the keystore file that this interface uses to load the certificate from.

Returns
The name of the keystore file to use as a String
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getPKCS11ConfigFile ( )
pure virtual

Get the PKCS11 configuration file used by this SSL interface on the UM server.

Returns
The name of the PKCS11 configuration file.

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getPKCS11NSSName ( )
pure virtual

Get the PKCS11 NSS name that unique identifies the PKCS11 configuration on the UM server.

Returns
The NSS Name used in the PKCS11 configuration file.

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getProvider ( )
pure virtual

Get the name of the JSSE provider used by this SSL interface.

Returns
The name of the JSSE provider being used for the interface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getRandomAlgorithm ( )
pure virtual

Returns the SecureRandom algoritm used for this interface.

If it is null it uses the system default algorithm.

Returns
a String specifying the Random Algorithm used by this interface
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getRandomProvider ( )
pure virtual

Returns the SecureRandom provider used by this interface.

If it is null it uses the system default provider.

Returns
a String specifying the Secure Random provider used by this interface
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual std::string* com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getSupportedCiphers ( int &  nCipher)
pure virtual

Returns an array of ciphers this this interface can be configured for use by this interface.

If the cipher is not in this list then the interface can not support it.

Parameters
anint in which to write the size of the array
Returns
a pointer to an array of ciphers which can be configured for use by this interface
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual const std::string& com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::getTrustStore ( )
pure virtual

Returns the current truststore file that this interface uses to validate the client certificate chain against.

Returns
the Truststore file name as a String
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setAlias ( const std::string &  alias)
pure virtual

Sets the certificate name/alias that this interface will use to select its certificate from a keystore with multpiple entries.

Parameters
aliasthe name/alias to use as a String
Exceptions
nAdminIllegalArgumentExceptionif an illegal argument is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setCertRequired ( bool  required)
pure virtual

Specifies whether this interface requires SSL client authentication or not.

If this is set to false then this interface allows anonymous connections using SSL. Otherwise the client must have and present a valid certificate chain during the SSL handshake.

Parameters
requireda bool specifying if this interface will force client authentication
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setCRLFile ( const std::string &  fileName)
pure virtual

Sets the Certificate revocation list file name that the interface should use to check the incomming ssl connections.

Is only used when client certificates are required.

The file should be in a standard X.509 Certificate Revocation List (CRL)

Parameters
fileNamethe CRL file name that the interface uses

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setCRLValidationClassName ( const std::string &  className)
pure virtual

Any class that extends com.pcbsys.nirvana.server.api.nSSLCertficateValidator can be used by the server to perform CRL management.

The class name can be supplied per interface and then when a client connects a callout is issued to this class to validate the connection.

Parameters
classNamethe classname of the certificate validator to use within this interface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setEnabledCiphers ( std::string *  pCiphers,
int  nCipher 
)
pure virtual

Specifies the names of the ciphers enabled for use by this interface.

Parameters
ciphersa pointer to an array of ciphers enabled for use by this interface
sizeof this array
Exceptions
nAdminIllegalArgumentExceptionif an empty or null array is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setKeyStore ( const std::string &  keyStore)
pure virtual

Sets the keystore file that this interface uses to load the certificate from.

Parameters
keyStorethe new keystore name as a String
Exceptions
nAdminIllegalArgumentExceptionif an illegal argument is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setKeyStorePassword ( const std::string &  keyStorePassword)
pure virtual

Sets the keystore password that this interface will use to access the keystore file specified.

Parameters
keyStorePasswordthe new password as a string
Exceptions
nAdminIllegalArgumentExceptionif an illegal argument is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setPKCS11ConfigFile ( const std::string  location)
pure virtual

Sets the name of the PKCS11 configuration used by this SSL interface on the UM server.

Parameters
locationthe location/path of the PKCS11 configuration file.

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setPKCS11NSSName ( const std::string  name)
pure virtual

Sets the name of the PKCS11 NSS name that uniquely identifies the PKCS11 configuration on the UM server.

Parameters
nameThe NSS name of the PKCS11 configuration file.

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setPrivateKeyPassword ( const std::string &  password)
pure virtual

Sets the private key password so that the key can be loaded from the key store.

Parameters
passwordfor the private key as a String
Exceptions
nAdminIllegalArgumentExceptionif an illegal argument is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setProvider ( const std::string &  providerName)
pure virtual

Sets the name of the JSSE provider to use for the interface.

Parameters
providerNamethe name of the JSSE provider to use

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setRandomAlgorithm ( const std::string &  alg)
pure virtual

Sets the SecureRandom algorithm to use for this interface.

Parameters
algthe name of the new SecureRandom algorithm to use
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setRandomProvider ( const std::string &  prov)
pure virtual

Sets the SecureRandom provider to use for this interface.

Parameters
provthe name of the new SecureRandom provider to use
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setTrustStore ( const std::string &  trustStore)
pure virtual

Sets the truststore file that this interface uses to validate the client certificate against.

Parameters
trustStorethe new truststore file to use
Exceptions
nAdminIllegalArgumentExceptionif an illegal argument is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.

virtual void com::pcbsys::nirvana::nAdminAPI::nSSLInterfaceAPI::setTrustStorePassword ( const std::string &  trustStorePassword)
pure virtual

Changes the truststore's password that the server uses to access the trust store.

Parameters
trustStorePasswordthe new password to use as a String
Exceptions
nAdminIllegalArgumentExceptionif an illegal argument is specified
See Also
nSSLInterface
nHTTPSInterface

Implemented in com::pcbsys::nirvana::nAdminAPI::nSSLInterface, and com::pcbsys::nirvana::nAdminAPI::nHTTPSInterface.