5 #ifndef CVMFS_SIGNATURE_H_
6 #define CVMFS_SIGNATURE_H_
10 #include <openssl/bio.h>
11 #include <openssl/engine.h>
12 #include <openssl/err.h>
13 #include <openssl/evp.h>
14 #include <openssl/pem.h>
15 #include <openssl/rsa.h>
16 #include <openssl/x509.h>
41 const std::string &password);
44 const unsigned buffer_size);
54 bool LoadBlacklist(
const std::string &path_blacklist,
bool append);
59 bool Sign(
const unsigned char *buffer,
const unsigned buffer_size,
60 unsigned char **signature,
unsigned *signature_size);
61 bool SignRsa(
const unsigned char *buffer,
const unsigned buffer_size,
62 unsigned char **signature,
unsigned *signature_size);
63 bool Verify(
const unsigned char *buffer,
const unsigned buffer_size,
64 const unsigned char *signature,
unsigned signature_size);
65 bool VerifyRsa(
const unsigned char *buffer,
const unsigned buffer_size,
66 const unsigned char *signature,
unsigned signature_size);
67 bool VerifyLetter(
const unsigned char *buffer,
const unsigned buffer_size,
69 bool VerifyPkcs7(
const unsigned char *buffer,
const unsigned buffer_size,
70 unsigned char **content,
unsigned *content_size,
71 std::vector<std::string> *alt_uris);
72 static void CutLetter(
const unsigned char *buffer,
73 const unsigned buffer_size,
75 unsigned *letter_length,
76 unsigned *pos_after_mark);
108 #endif // CVMFS_SIGNATURE_H_
bool SignRsa(const unsigned char *buffer, const unsigned buffer_size, unsigned char **signature, unsigned *signature_size)
std::vector< std::string > blacklist_
RSA * GenerateRsaKeyPair()
void GenerateMasterKeyPair()
static shash::Any MkFromFingerprint(const std::string &fingerprint)
std::string GetCertificate() const
std::string GetCryptoError()
pthread_mutex_t lock_blacklist_
bool LoadCertificateMem(const unsigned char *buffer, const unsigned buffer_size)
void UnloadPrivateMasterKey()
bool Verify(const unsigned char *buffer, const unsigned buffer_size, const unsigned char *signature, unsigned signature_size)
std::string GetPrivateKey()
shash::Any HashCertificate(const shash::Algorithms hash_algorithm)
static void CutLetter(const unsigned char *buffer, const unsigned buffer_size, const char separator, unsigned *letter_length, unsigned *pos_after_mark)
std::vector< RSA * > public_keys_
bool LoadPrivateKeyPath(const std::string &file_pem, const std::string &password)
void GenerateCertificate(const std::string &cn)
std::string GetActivePubkeys() const
bool LoadTrustedCaCrl(const std::string &path_list)
bool VerifyPkcs7(const unsigned char *buffer, const unsigned buffer_size, unsigned char **content, unsigned *content_size, std::vector< std::string > *alt_uris)
bool Sign(const unsigned char *buffer, const unsigned buffer_size, unsigned char **signature, unsigned *signature_size)
void UnloadPublicRsaKeys()
bool LoadCertificatePath(const std::string &file_pem)
std::string GenerateKeyText(RSA *pubkey) const
bool WriteCertificateMem(unsigned char **buffer, unsigned *buffer_size)
bool VerifyRsa(const unsigned char *buffer, const unsigned buffer_size, const unsigned char *signature, unsigned signature_size)
bool LoadPrivateMasterKeyPath(const std::string &file_pem)
bool LoadBlacklist(const std::string &path_blacklist, bool append)
X509_LOOKUP * x509_lookup_
RSA * private_master_key_
std::string GetPrivateMasterKey()
bool LoadPublicRsaKeys(const std::string &path_list)
std::string FingerprintCertificate(const shash::Algorithms hash_algorithm)
bool VerifyLetter(const unsigned char *buffer, const unsigned buffer_size, const bool by_rsa)
std::vector< std::string > GetBlacklist()