aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Loading...
Searching...
No Matches
Pkcs11.h
Go to the documentation of this file.
1#pragma once
7#include <aws/crt/Types.h>
8
9struct aws_pkcs11_lib;
10
11namespace Aws
12{
13 namespace Crt
14 {
15 namespace Io
16 {
24 {
25 public:
31 {
39 Default,
40
47 Omit,
48
57 Strict,
58 };
59
75 static std::shared_ptr<Pkcs11Lib> Create(const String &filename, Allocator *allocator = ApiAllocator());
76
92 static std::shared_ptr<Pkcs11Lib> Create(
93 const String &filename,
94 InitializeFinalizeBehavior initializeFinalizeBehavior,
95 Allocator *allocator = ApiAllocator());
96
97 ~Pkcs11Lib();
98
100 aws_pkcs11_lib *GetNativeHandle() { return impl; }
101
103 explicit Pkcs11Lib(aws_pkcs11_lib &impl);
104
105 private:
106 // no copy/move
107 Pkcs11Lib(const Pkcs11Lib &) = delete;
108 Pkcs11Lib(Pkcs11Lib &&) = delete;
109 Pkcs11Lib &operator=(const Pkcs11Lib &) = delete;
110 Pkcs11Lib &operator=(Pkcs11Lib &&) = delete;
111
112 aws_pkcs11_lib *impl = nullptr;
113 };
114 } // namespace Io
115 } // namespace Crt
116} // namespace Aws
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Pkcs11.h:24
InitializeFinalizeBehavior
Definition Pkcs11.h:31
aws_allocator Allocator
Definition Allocator.h:14
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
Definition Allocator.h:11