Files
--hp-socket-TCP--ssl--/Client-Native/CertificateManager.h
2026-01-23 08:39:07 +08:00

44 lines
1.1 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include "pch.h"
namespace SSLClient {
/// <summary>
/// SSL证书管理器
/// 负责加载和管理证书、私钥
/// </summary>
class CertificateManager
{
public:
CertificateManager();
~CertificateManager();
// 禁止拷贝
CertificateManager(const CertificateManager&) = delete;
CertificateManager& operator=(const CertificateManager&) = delete;
/// <summary>
/// 从内存加载X509证书
/// </summary>
/// <param name="certPem">PEM格式的证书</param>
/// <returns>X509证书对象失败返回nullptr</returns>
X509* LoadCertificateFromMemory(const char* certPem);
/// <summary>
/// 从内存加载私钥
/// </summary>
/// <param name="keyPem">PEM格式的私钥</param>
/// <param name="password">私钥密码</param>
/// <returns>EVP_PKEY对象失败返回nullptr</returns>
EVP_PKEY* LoadPrivateKeyFromMemory(const char* keyPem, const char* password);
/// <summary>
/// 打印OpenSSL错误信息
/// </summary>
/// <param name="message">错误描述</param>
static void PrintSSLError(const char* message);
};
} // namespace SSLClient