6 #include "libaktualizr/config.h" 8 #include <openssl/engine.h> 9 #include <openssl/err.h> 10 #include "gtest/gtest_prod.h" 12 #include "logging/logging.h" 20 PKCS11_ctx_st *
get()
const {
return ctx; }
32 PKCS11_slot_st *get_slots()
const {
return wslots_; }
33 unsigned int get_nslots()
const {
return nslots; }
37 PKCS11_slot_st *wslots_;
49 if (ssl_engine_ !=
nullptr) {
50 ENGINE_finish(ssl_engine_);
51 ENGINE_free(ssl_engine_);
56 ENGINE *getEngine() {
return ssl_engine_; }
57 std::string getUptaneKeyId()
const {
return uri_prefix_ + config_.uptane_key_id; }
58 std::string getTlsCacertId()
const {
return uri_prefix_ + config_.tls_cacert_id; }
59 std::string getTlsPkeyId()
const {
return uri_prefix_ + config_.tls_pkey_id; }
60 std::string getTlsCertId()
const {
return uri_prefix_ + config_.tls_clientcert_id; }
61 bool readUptanePublicKey(std::string *key_out);
62 bool readTlsCert(std::string *cert_out)
const;
63 bool generateUptaneKeyPair();
67 ENGINE *ssl_engine_{
nullptr};
68 std::string uri_prefix_;
72 static boost::filesystem::path findPkcsLibrary();
73 PKCS11_slot_st *findTokenSlot()
const;
78 FRIEND_TEST(crypto, findPkcsLibrary);
84 if (instance ==
nullptr) {
90 if (ref_counter != 0) {
93 if (ref_counter == 0) {
98 P11Engine *operator->()
const {
return instance; }
102 static int ref_counter;