00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_DSAPARAMETERSPEC_H
00024 #define _CLASS_DSAPARAMETERSPEC_H
00025
00026 #include "beecrypt/api.h"
00027 #include "beecrypt/mpbarrett.h"
00028 #include "beecrypt/dsa.h"
00029
00030 #ifdef __cplusplus
00031
00032 #include "beecrypt/c++/lang/Object.h"
00033 using beecrypt::lang::Object;
00034 #include "beecrypt/c++/security/interfaces/DSAParams.h"
00035 using beecrypt::security::interfaces::DSAParams;
00036 #include "beecrypt/c++/security/spec/AlgorithmParameterSpec.h"
00037 using beecrypt::security::spec::AlgorithmParameterSpec;
00038
00039 namespace beecrypt {
00040 namespace security {
00041 namespace spec {
00045 class BEECRYPTCXXAPI DSAParameterSpec : public beecrypt::lang::Object, public beecrypt::security::spec::AlgorithmParameterSpec, public beecrypt::security::interfaces::DSAParams
00046 {
00047 private:
00048 mpbarrett _p;
00049 mpbarrett _q;
00050 mpnumber _g;
00051
00052 public:
00053 DSAParameterSpec(const DSAParams&);
00054 DSAParameterSpec(const mpbarrett& p, const mpbarrett& q, const mpnumber& g);
00055 virtual ~DSAParameterSpec();
00056
00057 const mpbarrett& getP() const throw ();
00058 const mpbarrett& getQ() const throw ();
00059 const mpnumber& getG() const throw ();
00060 };
00061 }
00062 }
00063 }
00064
00065 #endif
00066
00067 #endif