FreeRDP
Loading...
Searching...
No Matches
include/freerdp/crypto/crypto.h
1
22#ifndef FREERDP_CRYPTO_H
23#define FREERDP_CRYPTO_H
24
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27#include <freerdp/crypto/certificate_data.h>
28
29#ifdef __cplusplus
30extern "C"
31{
32#endif
34 {
35 BYTE* Modulus;
36 DWORD ModulusLength;
37 BYTE exponent[4];
38 };
39 typedef struct rdp_CertInfo rdpCertInfo;
40
41 WINPR_ATTR_MALLOC(free, 1)
42 FREERDP_API char* crypto_base64_encode(const BYTE* WINPR_RESTRICT data, size_t length);
43
54 WINPR_ATTR_MALLOC(free, 1)
55 FREERDP_API char* crypto_base64_encode_ex(const BYTE* WINPR_RESTRICT data, size_t length,
56 BOOL withCrLf);
57
70 WINPR_ATTR_MALLOC(free, 1)
71 FREERDP_API char* crypto_base64_encode_ex_len(const void* WINPR_RESTRICT data, size_t length,
72 BOOL withCrLf, size_t* plen);
73
85 WINPR_ATTR_MALLOC(free, 1)
86 FREERDP_API char* crypto_base64_encode_len(const void* WINPR_RESTRICT data, size_t length,
87 size_t* plen);
88
89 FREERDP_API void crypto_base64_decode(const char* WINPR_RESTRICT enc_data, size_t length,
90 BYTE** WINPR_RESTRICT dec_data,
91 size_t* WINPR_RESTRICT res_length);
92
93 WINPR_ATTR_MALLOC(free, 1)
94 FREERDP_API char* crypto_base64url_encode(const BYTE* WINPR_RESTRICT data, size_t length);
95
107 WINPR_ATTR_MALLOC(free, 1)
108 FREERDP_API char* crypto_base64url_encode_len(const void* WINPR_RESTRICT data, size_t length,
109 size_t* plen);
110
111 FREERDP_API void crypto_base64url_decode(const char* WINPR_RESTRICT enc_data, size_t length,
112 BYTE** WINPR_RESTRICT dec_data,
113 size_t* WINPR_RESTRICT res_length);
114
115 WINPR_ATTR_MALLOC(free, 1)
116 FREERDP_API char* crypto_read_pem(const char* WINPR_RESTRICT filename,
117 size_t* WINPR_RESTRICT plength);
118
119 WINPR_ATTR_NODISCARD
120 FREERDP_API BOOL crypto_write_pem(const char* WINPR_RESTRICT filename,
121 const char* WINPR_RESTRICT pem, size_t length);
122
123#ifdef __cplusplus
124}
125#endif
126
127#endif /* FREERDP_CRYPTO_H */