#include <stdlib.h>
#include <signal.h>
-#include <openssl/ssl.h>
-#include <openssl/conf.h>
-#include <openssl/err.h>
-#include <openssl/evp.h>
-
#include <dpl/log/log.h>
#include <dpl/singleton.h>
-#include <dpl/singleton_safe_impl.h>
#include <socket-manager.h>
-#include <echo.h>
#include <ckm-service.h>
#include <ocsp-service.h>
+#include <encryption-service.h>
+#include <crypto-init.h>
#include <key-provider.h>
-#include <CryptoService.h>
-
-IMPLEMENT_SAFE_SINGLETON(CKM::Log::LogSystem);
+#include <file-system.h>
#define REGISTER_SOCKET_SERVICE(manager, service) \
registerSocketService<service>(manager, #service)
T *service = NULL;
try {
service = new T();
- service->Create();
+ service->Start();
manager.RegisterSocketService(service);
service = NULL;
} catch (const CKM::Exception &exception) {
}
int main(void) {
-
- int ret;
- ret = system("/usr/bin/key-manager-listener");
- LogInfo("system return val : " << ret);
-
UNHANDLED_EXCEPTION_HANDLER_BEGIN
{
CKM::Singleton<CKM::Log::LogSystem>::Instance().SetTag("CKM");
+ int retCode = CKM::FileSystem::init();
+ if (retCode) {
+ LogError("Fatal error in FileSystem::init()");
+ return 1;
+ }
+
+ CKM::FileLock fl = CKM::FileSystem::lock();
+
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, SIGTERM);
LogError("Error in pthread_sigmask");
return 1;
}
- LogInfo("Init external liblaries SKMM and openssl");
+ LogInfo("Init external libraries SKMM and openssl");
- SSL_load_error_strings();
- SSL_library_init();
- OpenSSL_add_all_ciphers();
- OPENSSL_config(NULL);
+ CKM::initOpenSsl();
CKM::KeyProvider::initializeLibrary();
- CKM::CryptoService::initialize();
{
LogInfo("Start!");
CKM::SocketManager manager;
- REGISTER_SOCKET_SERVICE(manager, CKM::EchoService);
REGISTER_SOCKET_SERVICE(manager, CKM::CKMService);
REGISTER_SOCKET_SERVICE(manager, CKM::OCSPService);
+ REGISTER_SOCKET_SERVICE(manager, CKM::EncryptionService);
manager.MainLoop();
}
// Manager has been destroyed and we may close external libraries.
LogInfo("Deinit SKMM and openssl");
CKM::KeyProvider::closeLibrary();
- // Deinit OPENSSL ?
- EVP_cleanup();
- ERR_free_strings();
+
+ CKM::deinitOpenSsl();
+ }
+ catch (const std::runtime_error& e)
+ {
+ LogError(e.what());
}
UNHANDLED_EXCEPTION_HANDLER_END
return 0;