19 lines
446 B
C++
19 lines
446 B
C++
#pragma once
|
|
|
|
#include <openssl/evp.h>
|
|
#include <openssl/x509.h>
|
|
|
|
#include <memory>
|
|
|
|
template <typename T, void Free(T*)>
|
|
struct FnDeleter {
|
|
auto operator()(T *ptr) const -> void { Free(ptr); }
|
|
};
|
|
|
|
template <typename T, void(Free)(T*)>
|
|
using Ref = std::unique_ptr<T, FnDeleter<T, Free>>;
|
|
|
|
using EVP_PKEY_CTX_Ref = Ref<EVP_PKEY_CTX, EVP_PKEY_CTX_free>;
|
|
using X509_Ref = Ref<X509, X509_free>;
|
|
using EVP_PKEY_Ref = Ref<EVP_PKEY, EVP_PKEY_free>;
|