class Akenti::ProviderImpl

A ProviderImpl object provides applications with engines that implement security algorithms.

Inheritance:


Public Methods

[more]virtual ~ProviderImpl ()
Deletes this object
[more]virtual void loadDigestAlgorithms ()
Loads MessageDigest algorithms
[more]virtual bool isDigestAlgorithmSupported (const string& alg) const
Returns true if alg is supported.
[more]virtual MessageDigest getMessageDigest (const string& alg) const
Returns a MessageDigest engine given the name of a standard algorithm specified by alg such as MD5.
[more]virtual void loadSignatureAlgorithms ()
Loads Signature algorithms
[more]virtual bool isSignatureAlgorithmSupported (const string& alg) const
Returns true if alg is supported.
[more]virtual Signature getSignature (const string& alg) const
Returns a Signature engine given the name of a standard algorithm specified by alg such as RSA-MD5 or RSA-SHA1.
[more]virtual void loadCipherAlgorithms ()
Loads Cipher algorithms
[more]virtual bool isCipherAlgorithmSupported (const string& alg) const
Returns true if alg is supported.
[more]virtual Cipher getCipher (const string& alg) const
Returns a Cipher engine given the name of a standard algorithm specified by alg such as DES-CBC or RC4
[more]virtual bool seedRandomGenerator (const string& seed)
[more]virtual Base64 getBase64 () const
Returns a Base64 object.
[more]virtual KeyStore getKeyStore (const string& type) const
[more]virtual KeyFactory getKeyFactory () const
Returns a KeyFactory object.
[more]virtual CertificateFactory getCertificateFactory () const
Returns a CertificateFactory object.
[more]virtual Hmac getHmac (const string& alg) const
[more]virtual SSLContext createSSLContext (SSLConstants::Version version, bool isClient) const
Create a either a server or client security context.
[more]virtual SecureSocketImpl* createSecureSocketImpl (const SSLContext& ctx) const
Interface to create a SecureSocketImpl.
[more]virtual string toDerString (const DistinguishedName& dn) const

Protected Methods

[more] ProviderImpl ()
Constructs this object


Documentation

A ProviderImpl object provides applications with engines that implement security algorithms.

Applications must install a provider at startup.

ovirtual ~ProviderImpl()
Deletes this object

ovirtual void loadDigestAlgorithms() = 0
Loads MessageDigest algorithms

ovirtual bool isDigestAlgorithmSupported(const string& alg) const = 0
Returns true if alg is supported.

Returns:
true if alg is supported, false otherwise

ovirtual MessageDigest getMessageDigest(const string& alg) const = 0
Returns a MessageDigest engine given the name of a standard algorithm specified by alg such as MD5.

For convenience , the MessageDigest::getInstance() can be used.

Throws:
SecurityException if algorithm is not supported
Parameters:
- alg string standard name of an algorithm
Returns:
a MessageDigest engine.
See Also:
loadDigestAlgorithms()
isDigestAlgorithmSupported(const string&)
getInstance(const string& alg)

ovirtual void loadSignatureAlgorithms() = 0
Loads Signature algorithms

ovirtual bool isSignatureAlgorithmSupported(const string& alg) const = 0
Returns true if alg is supported.

Returns:
true if alg is supported, false otherwise

ovirtual Signature getSignature(const string& alg) const = 0
Returns a Signature engine given the name of a standard algorithm specified by alg such as RSA-MD5 or RSA-SHA1.

For convenience , the Signature::getInstance() can be used.

Throws:
SecurityException if algorithm is not supported
Parameters:
- alg string standard name of a Signature algorithm
Returns:
a Signature engine
See Also:
loadSignatureAlgorithms()
sSignatureAlgorithmSupported(const string&)
getInstance(const string& alg)

ovirtual void loadCipherAlgorithms() = 0
Loads Cipher algorithms

ovirtual bool isCipherAlgorithmSupported(const string& alg) const = 0
Returns true if alg is supported.

Returns:
true if alg is supported, false otherwise

ovirtual Cipher getCipher(const string& alg) const = 0
Returns a Cipher engine given the name of a standard algorithm specified by alg such as DES-CBC or RC4

For convenience, the Cipher::getInstance() can be used.

Throws:
SecurityException if algorithm is not supported
Parameters:
- alg string standard name of a Cipher algorithm
Returns:
a Cipher engine
See Also:
loadCipherAlgorithms()
isCipherAlgorithmSupported(const string&)
getInstance(const string& alg)

ovirtual bool seedRandomGenerator(const string& seed) = 0

ovirtual Base64 getBase64() const = 0
Returns a Base64 object. Applications need not call this function. Instead, the static method Base64::getInstance() should be used.

Returns:
a Base64 object
See Also:
getInstance()
Base64Impl

ovirtual KeyStore getKeyStore(const string& type) const = 0

ovirtual KeyFactory getKeyFactory() const = 0
Returns a KeyFactory object. Applications need not call this function. Instead, the static method KeyFactory::getInstance() should be used.

Returns:
a KeyFactory object
See Also:
getInstance()
KeyFactoryImpl

ovirtual CertificateFactory getCertificateFactory() const = 0
Returns a CertificateFactory object. Applications need not call this function. Instead, the static method CertificateFactory#getInstance() should be used.

Returns:
a CertificateFactory object
See Also:
getInstance()
CertificateFactoryImpl

ovirtual Hmac getHmac(const string& alg) const = 0

ovirtual SSLContext createSSLContext(SSLConstants::Version version, bool isClient) const = 0
Create a either a server or client security context. The concrete ProviderImpl can create whatever sort of security context it needs.

Parameters:
context - version number
Returns:
A security context

ovirtual SecureSocketImpl* createSecureSocketImpl(const SSLContext& ctx) const = 0
Interface to create a SecureSocketImpl. The concrete providerImpl should create the type of SecureSocketImpl it needs.

ovirtual string toDerString(const DistinguishedName& dn) const = 0

o ProviderImpl()
Constructs this object


Direct child classes:
OpenSSLProviderImpl
Author:
Srilekha Mudumbai Abdelilah Essiari
Version:
1.1 00/05/01
See Also:
setProvider(Provider&)

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.