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_NODISCARD
42 FREERDP_API char* crypto_base64_encode(const BYTE* WINPR_RESTRICT data, size_t length);
43
54 WINPR_ATTR_NODISCARD
55 FREERDP_API char* crypto_base64_encode_ex(const BYTE* WINPR_RESTRICT data, size_t length,
56 BOOL withCrLf);
57
58 FREERDP_API void crypto_base64_decode(const char* WINPR_RESTRICT enc_data, size_t length,
59 BYTE** WINPR_RESTRICT dec_data,
60 size_t* WINPR_RESTRICT res_length);
61
62 WINPR_ATTR_NODISCARD
63 FREERDP_API char* crypto_base64url_encode(const BYTE* WINPR_RESTRICT data, size_t length);
64 FREERDP_API void crypto_base64url_decode(const char* WINPR_RESTRICT enc_data, size_t length,
65 BYTE** WINPR_RESTRICT dec_data,
66 size_t* WINPR_RESTRICT res_length);
67
68 WINPR_ATTR_NODISCARD
69 FREERDP_API char* crypto_read_pem(const char* WINPR_RESTRICT filename,
70 size_t* WINPR_RESTRICT plength);
71
72 WINPR_ATTR_NODISCARD
73 FREERDP_API BOOL crypto_write_pem(const char* WINPR_RESTRICT filename,
74 const char* WINPR_RESTRICT pem, size_t length);
75
76#ifdef __cplusplus
77}
78#endif
79
80#endif /* FREERDP_CRYPTO_H */