libcryptosec
ECDSAKeyPair.h
Go to the documentation of this file.
1 #ifndef ECDSAKEYPAIR_H_
2 #define ECDSAKEYPAIR_H_
3 #include <openssl/evp.h>
4 #include <openssl/bio.h>
5 
6 #include "ByteArray.h"
7 #include "KeyPair.h"
8 #include "ec/EllipticCurve.h"
9 #include "Base64.h"
10 
14 
15 
27 class ECDSAKeyPair : public KeyPair {
28 
29 public:
30 
35  ECDSAKeyPair(ByteArray &derEncoded)
36  throw (AsymmetricKeyException);
37 
42  ECDSAKeyPair(std::string &encoded)
43  throw (AsymmetricKeyException);
44 
49  ECDSAKeyPair(const EllipticCurve & curve)
50  throw (AsymmetricKeyException);
51 
52  ECDSAKeyPair(AsymmetricKey::Curve curve, bool named=true)
53  throw (AsymmetricKeyException);
54 
55  virtual ~ECDSAKeyPair();
56 
61  virtual PublicKey* getPublicKey()
67  virtual PrivateKey* getPrivateKey()
68  throw (AsymmetricKeyException);
69 
71  throw (AsymmetricKeyException);
72 
73 protected:
74  void generateKey(EC_GROUP * group) throw (AsymmetricKeyException);
75  EC_GROUP *createGroup(const EllipticCurve& curve);
76  EC_GROUP *createGroup(ByteArray &derEncoded);
77 };
78 
79 #endif /* ECDSAKEYPAIR_H_ */
Classe usada para representar curvas elípticas. Esta classe possui funções para que os parâmetros das...
Definition: EllipticCurve.h:16
Definition: PublicKey.h:19
ECDSAKeyPair(ByteArray &derEncoded)
Definition: ECDSAKeyPair.cpp:3
Definition: KeyPair.h:26
virtual AsymmetricKey::Algorithm getAlgorithm()
Definition: ECDSAKeyPair.cpp:220
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
Definition: AsymmetricKeyException.h:6
virtual ~ECDSAKeyPair()
Definition: ECDSAKeyPair.cpp:50
Definition: PrivateKey.h:21
Curve
Definition: AsymmetricKey.h:62
Definition: EncodeException.h:8
virtual PublicKey * getPublicKey()
Definition: ECDSAKeyPair.cpp:182
EC_GROUP * createGroup(const EllipticCurve &curve)
Definition: ECDSAKeyPair.cpp:104
virtual PrivateKey * getPrivateKey()
Definition: ECDSAKeyPair.cpp:191
void generateKey(EC_GROUP *group)
Definition: ECDSAKeyPair.cpp:61
Algorithm
Definition: AsymmetricKey.h:47
Definition: ECDSAKeyPair.h:27