Ice 3.7 C++11 API Reference
SChannel.h
Go to the documentation of this file.
1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 #ifndef ICESSL_SCHANNEL_H
6 #define ICESSL_SCHANNEL_H
7 
8 #ifdef _WIN32
9 
10 #include <IceSSL/Plugin.h>
11 
12 #include <wincrypt.h>
13 
14 namespace IceSSL
15 {
16 
17 namespace SChannel
18 {
19 
20 class Certificate;
21 ICE_DEFINE_PTR(CertificatePtr, Certificate);
22 
27 class ICESSL_API Certificate : public virtual IceSSL::Certificate
28 {
29 public:
30 
38  static CertificatePtr create(CERT_SIGNED_CONTENT_INFO* info);
39 
47  static CertificatePtr load(const std::string& file);
48 
55  static CertificatePtr decode(const std::string& str);
56 
63  virtual CERT_SIGNED_CONTENT_INFO* getCert() const = 0;
64 };
65 
66 } // SChannel namespace end
67 
68 } // IceSSL namespace end
69 
70 #endif
71 
72 #endif
IceSSL
Definition: ConnectionInfo.h:59
ICE_DEFINE_PTR
#define ICE_DEFINE_PTR(TPtr, T)
Definition: Config.h:359
IceSSL::CertificatePtr
::std::shared_ptr< Certificate > CertificatePtr
Definition: Plugin.h:399
ICESSL_API
#define ICESSL_API
Definition: ConnectionInfoF.h:49
IceSSL::Certificate
This convenience class is a wrapper around a native certificate.
Definition: Plugin.h:412
Plugin.h