123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include "CertificateManager.hpp"
- Certificate* CertificateManager::readCredentialsFromFile(const path &file, bool resolve) {
- X509 *cert = loadCertificateFromFile(system_complete(file).string().c_str());
- EVP_PKEY *key = loadKeyFromFile(system_complete(file).string().c_str());
- if (!cert || !key) throw BadCertificateException();
- return new Certificate(cert, key, resolve);
- }
- X509* CertificateManager::loadCertificateFromFile(const char* file) {
- SSL_CTX *context = SSL_CTX_new(SSLv23_server_method());
- SSL_CTX_use_certificate_file(context, file, SSL_FILETYPE_PEM);
- return SSL_get_certificate(SSL_new(context));
- }
- EVP_PKEY* CertificateManager::loadKeyFromFile(const char* file) {
- SSL_CTX *context = SSL_CTX_new(SSLv23_server_method());
- SSL_CTX_use_PrivateKey_file(context, file, SSL_FILETYPE_PEM);
- return SSL_get_privatekey(SSL_new(context));
- }
|