diff --git a/dh2.cpp b/dh2.cpp index 19e60c39..98175ee2 100644 --- a/dh2.cpp +++ b/dh2.cpp @@ -5,6 +5,11 @@ NAMESPACE_BEGIN(CryptoPP) +void DH2_TestInstantiations() +{ + DH2 dh(*(SimpleKeyAgreementDomain*)NULL); +} + bool DH2::Agree(byte *agreedValue, const byte *staticSecretKey, const byte *ephemeralSecretKey, const byte *staticOtherPublicKey, const byte *ephemeralOtherPublicKey, diff --git a/dh2.h b/dh2.h index a8c5fce4..af9d342d 100644 --- a/dh2.h +++ b/dh2.h @@ -12,11 +12,13 @@ NAMESPACE_BEGIN(CryptoPP) class DH2 : public AuthenticatedKeyAgreementDomain { public: - DH2(const SimpleKeyAgreementDomain &domain) + DH2(SimpleKeyAgreementDomain &domain) : d1(domain), d2(domain) {} - DH2(const SimpleKeyAgreementDomain &staticDomain, const SimpleKeyAgreementDomain &ephemeralDomain) + DH2(SimpleKeyAgreementDomain &staticDomain, SimpleKeyAgreementDomain &ephemeralDomain) : d1(staticDomain), d2(ephemeralDomain) {} + CryptoParameters & AccessCryptoParameters() {return d1.AccessCryptoParameters();} + unsigned int AgreedValueLength() const {return d1.AgreedValueLength() + d2.AgreedValueLength();} @@ -48,7 +50,7 @@ public: bool validateStaticOtherPublicKey=true) const; protected: - const SimpleKeyAgreementDomain &d1, &d2; + SimpleKeyAgreementDomain &d1, &d2; }; NAMESPACE_END