KeyStoreSpi.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_BEE_SECURITY_KEYSTORESPI_H
00024 #define _CLASS_BEE_SECURITY_KEYSTORESPI_H
00025
00026 #include "beecrypt/api.h"
00027
00028 #ifdef __cplusplus
00029
00030 #include "beecrypt/c++/io/InputStream.h"
00031 using beecrypt::io::InputStream;
00032 #include "beecrypt/c++/io/OutputStream.h"
00033 using beecrypt::io::OutputStream;
00034 #include "beecrypt/c++/security/KeyStoreException.h"
00035 using beecrypt::security::KeyStoreException;
00036 #include "beecrypt/c++/security/UnrecoverableKeyException.h"
00037 using beecrypt::security::UnrecoverableKeyException;
00038 #include "beecrypt/c++/security/cert/Certificate.h"
00039 using beecrypt::security::cert::Certificate;
00040 #include "beecrypt/c++/util/Date.h"
00041 using beecrypt::util::Date;
00042 #include "beecrypt/c++/util/Enumeration.h"
00043 using beecrypt::util::Enumeration;
00044
00045 #include <typeinfo>
00046 using std::type_info;
00047
00048 namespace beecrypt {
00049 namespace security {
00052 class BEECRYPTCXXAPI KeyStoreSpi : public Object
00053 {
00054 friend class KeyStore;
00055
00056 protected:
00057 virtual Enumeration<const String>* engineAliases() = 0;
00058 virtual bool engineContainsAlias(const String& alias) = 0;
00059
00060 virtual void engineDeleteEntry(const String& alias) throw (KeyStoreException) = 0;
00061 virtual const Date* engineGetCreationDate(const String& alias) = 0;
00062
00063 virtual const Certificate* engineGetCertificate(const String& alias) = 0;
00064 virtual const String* engineGetCertificateAlias(const Certificate& cert) = 0;
00065 virtual const array<Certificate*>* engineGetCertificateChain(const String& alias) = 0;
00066 virtual bool engineIsCertificateEntry(const String& alias) = 0;
00067 virtual void engineSetCertificateEntry(const String& alias, const Certificate& cert) throw (KeyStoreException) = 0;
00068
00069 virtual Key* engineGetKey(const String& alias, const array<jchar>& password) throw (NoSuchAlgorithmException, UnrecoverableKeyException) = 0;
00070 virtual bool engineIsKeyEntry(const String& alias) = 0;
00071 virtual void engineSetKeyEntry(const String& alias, const bytearray& key, const array<Certificate*>&) throw (KeyStoreException) = 0;
00072 virtual void engineSetKeyEntry(const String& alias, const Key& key, const array<jchar>& password, const array<Certificate*>&) throw (KeyStoreException) = 0;
00073
00074 virtual jint engineSize() const = 0;
00075
00076 virtual void engineLoad(InputStream* in, const array<jchar>* password) throw (IOException, CertificateException, NoSuchAlgorithmException) = 0;
00077 virtual void engineStore(OutputStream& out, const array<jchar>* password) throw (IOException, CertificateException, NoSuchAlgorithmException) = 0;
00078
00079 public:
00080 virtual ~KeyStoreSpi() {}
00081 };
00082 }
00083 }
00084
00085 #endif
00086
00087 #endif