libcryptosec
PrivateKey.h
Go to the documentation of this file.
1 #ifndef PRIVATEKEY_H_
2 #define PRIVATEKEY_H_
3 
4 #include <openssl/evp.h>
5 #include <openssl/pem.h>
6 #include <string>
7 #include "AsymmetricKey.h"
8 #include "ByteArray.h"
9 #include "SymmetricCipher.h"
10 #include "SymmetricKey.h"
11 
13 
21 class PrivateKey : public AsymmetricKey
22 {
23 
24 public:
25 
32  PrivateKey(EVP_PKEY *key) throw (AsymmetricKeyException);
33 
39  PrivateKey(ByteArray &derEncoded)
40  throw (EncodeException);
41 
47  PrivateKey(std::string &pemEncoded)
48  throw (EncodeException);
49 
57  PrivateKey(std::string &pemEncoded, ByteArray &passphrase)
58  throw (EncodeException);
59 
63  virtual ~PrivateKey();
64 
70  std::string getPemEncoded()
71  throw (EncodeException);
72 
82  std::string getPemEncoded(SymmetricKey &passphrase, SymmetricCipher::OperationMode mode)
84 
91  throw (EncodeException);
92 
93  bool operator==(PrivateKey& priv) throw();
94 
95 protected:
96 
104  static int passphraseCallBack(char *buf, int size, int rwflag, void *u);
105 
106 };
107 
108 #endif /*PRIVATEKEY_H_*/
EVP_PKEY * key
Definition: AsymmetricKey.h:210
PrivateKey(EVP_PKEY *key)
Definition: PrivateKey.cpp:3
Definition: SymmetricCipherException.h:6
Definition: AsymmetricKey.h:36
std::string getPemEncoded()
Definition: PrivateKey.cpp:97
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
static int passphraseCallBack(char *buf, int size, int rwflag, void *u)
Definition: PrivateKey.cpp:207
bool operator==(PrivateKey &priv)
Definition: PrivateKey.cpp:202
Definition: PrivateKey.h:21
virtual ~PrivateKey()
Definition: PrivateKey.cpp:93
Definition: EncodeException.h:8
ByteArray getDerEncoded()
Definition: PrivateKey.cpp:173
OperationMode
Definition: SymmetricCipher.h:34
Definition: SymmetricKey.h:13