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