OpenVPN 3 Core Library
Loading...
Searching...
No Matches
epkibase.hpp
Go to the documentation of this file.
1// OpenVPN -- An application to securely tunnel IP networks
2// over a single port, with support for SSL/TLS-based
3// session authentication and key exchange,
4// packet encryption, packet authentication, and
5// packet compression.
6//
7// Copyright (C) 2012- OpenVPN Inc.
8//
9// SPDX-License-Identifier: MPL-2.0 OR AGPL-3.0-only WITH openvpn3-openssl-exception
10//
11
12#ifndef OPENVPN_PKI_EPKIBASE_H
13#define OPENVPN_PKI_EPKIBASE_H
14
15#include <string>
16
17namespace openvpn {
18
19// Abstract base class used to provide an interface where core SSL implementation
20// can use an external private key.
22{
23 public:
24 // Sign data (base64) and return signature as sig (base64).
25 // Return true on success or false on error.
26 virtual bool sign(const std::string &alias, const std::string &data, std::string &sig, const std::string &algorithm, const std::string &hashalg, const std::string &saltlen) = 0;
27
28 virtual ~ExternalPKIBase() = default;
29};
30
32{
33 public:
34 virtual ~ExternalPKIImpl() = default;
35};
36}; // namespace openvpn
37
38#endif
virtual ~ExternalPKIBase()=default
virtual bool sign(const std::string &alias, const std::string &data, std::string &sig, const std::string &algorithm, const std::string &hashalg, const std::string &saltlen)=0
virtual ~ExternalPKIImpl()=default
Support deferred server-side state creation when client connects.
Definition ovpncli.cpp:95