#ifndef PA_SIGNER_SRC_PUBLICKEY_H_
#define PA_SIGNER_SRC_PUBLICKEY_H_

#include <stdint.h>
#include <string>
#include <vector>
#include <openssl/evp.h>
#include <openssl/pkcs7.h>
#include <openssl/rsa.h>

#include "KeyInterface.h"

class PublicKey: public KeyInterface {
 public:
  PublicKey(const std::string& filename);
  PublicKey(const std::vector<uint8_t>& data);
  ~PublicKey();

  EVP_PKEY* GetKey();

 private:
  EVP_PKEY* key_;
};

#endif /* PA_SIGNER_SRC_PUBLICKEY_H_ */
