Library: NetSSL_OpenSSL
Package: SSLCore
Header: Poco/Net/PrivateKeyPassphraseHandler.h
Description
A passphrase handler is needed whenever the private key of a certificate is loaded and the certificate is protected by a passphrase. The PrivateKeyPassphraseHandler's task is to provide that passphrase. One can install one's own PrivateKeyPassphraseHandler by implementing this interface. Note that in the implementation file of the subclass the following code must be present (assuming you use the namespace My_API and the name of your handler class is MyGuiHandler):
#include "Poco/Net/PrivateKeyFactory.h" ... POCO_REGISTER_KEYFACTORY(My_API, MyGuiHandler)
One can either set the handler directly in the startup code of the main method of ones application by calling
SSLManager::instance().initialize(myguiHandler, myInvalidCertificateHandler, mySSLContext)
or in case one's application extends Poco::Util::Application one can use an XML configuration and put the following entry under the path openSSL.privateKeyPassphraseHandler:
<privateKeyPassphraseHandler> <name>MyGuiHandler</name> <options> [...] // Put optional config params for the handler here </options> </privateKeyPassphraseHandler>
Note that the name of the passphrase handler must be same as the one provided to the POCO_REGISTER_KEYFACTORY macro.
Inheritance
Known Derived Classes: KeyConsoleHandler, KeyFileHandler
Member Summary
Member Functions: onPrivateKeyRequested, serverSide
Constructors
PrivateKeyPassphraseHandler
PrivateKeyPassphraseHandler(
bool onServerSide
);
Creates the PrivateKeyPassphraseHandler. Automatically registers at the SSLManager::PrivateKeyPassword event.
Destructor
~PrivateKeyPassphraseHandler
virtual ~PrivateKeyPassphraseHandler();
Destroys the PrivateKeyPassphraseHandler.
Member Functions
onPrivateKeyRequested
virtual void onPrivateKeyRequested(
const void * pSender,
std::string & privateKey
) = 0;
Returns the requested private key in the parameter privateKey.
serverSide
bool serverSide() const;