Passwordfile library 5.1.0
C++ library to read/write passwords from/to encrypted files
Loading...
Searching...
No Matches
openssl.h
Go to the documentation of this file.
1#ifndef PASSWORD_FILE_UTIL_OPENSSL_H
2#define PASSWORD_FILE_UTIL_OPENSSL_H
3
4#include "../global.h"
5
6#include <c++utilities/chrono/timespan.h>
7
8#include <cstddef>
9#include <cstdint>
10#include <string>
11#include <string_view>
12
13namespace CppUtilities {
14class DateTime;
15}
16
17namespace Util {
18
19namespace OpenSsl {
20
21struct Sha256Sum {
22 static constexpr std::size_t size = 32;
23 unsigned char data[size] = { 0 };
24};
25
26struct TOTP {
27 std::string digits;
28 CppUtilities::TimeSpan period;
29 CppUtilities::TimeSpan remaining;
30};
31
34PASSWORD_FILE_EXPORT Sha256Sum computeSha256Sum(const unsigned char *buffer, std::size_t size);
35PASSWORD_FILE_EXPORT std::uint32_t generateRandomNumber(std::uint32_t min, std::uint32_t max);
36PASSWORD_FILE_EXPORT TOTP computeTOTP(std::string_view url, CppUtilities::DateTime time);
37
38} // namespace OpenSsl
39} // namespace Util
40
41#endif // PASSWORD_FILE_UTIL_OPENSSL_H
#define PASSWORD_FILE_EXPORT
Marks the symbol to be exported by the passwordfile library.
Definition global.h:14
Contains functions utilizing the usage of OpenSSL.
Definition openssl.h:19
PASSWORD_FILE_EXPORT std::uint32_t generateRandomNumber(std::uint32_t min, std::uint32_t max)
Generates a random number using OpenSSL.
Definition openssl.cpp:140
PASSWORD_FILE_EXPORT void init()
Initializes OpenSSL.
Definition openssl.cpp:108
PASSWORD_FILE_EXPORT void clean()
Cleans resources of OpenSSL.
Definition openssl.cpp:119
PASSWORD_FILE_EXPORT TOTP computeTOTP(std::string_view url, CppUtilities::DateTime time)
Compute a token following the TOTP standard (RFC 6238).
Definition openssl.cpp:157
PASSWORD_FILE_EXPORT Sha256Sum computeSha256Sum(const unsigned char *buffer, std::size_t size)
Computes a SHA-256 sum using OpenSSL.
Definition openssl.cpp:130
Contains utility classes and functions.
Definition openssl.h:17
static constexpr std::size_t size
Definition openssl.h:22
unsigned char data[size]
Definition openssl.h:23
CppUtilities::TimeSpan remaining
Definition openssl.h:29
std::string digits
Definition openssl.h:27
CppUtilities::TimeSpan period
Definition openssl.h:28