22#ifndef FREERDP_CRYPTO_H
23#define FREERDP_CRYPTO_H
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27#include <freerdp/crypto/certificate_data.h>
41 WINPR_ATTR_MALLOC(free, 1)
42 FREERDP_API
char* crypto_base64_encode(const BYTE* WINPR_RESTRICT data,
size_t length);
54 WINPR_ATTR_MALLOC(free, 1)
55 FREERDP_API
char* crypto_base64_encode_ex(const BYTE* WINPR_RESTRICT data,
size_t length,
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);
85 WINPR_ATTR_MALLOC(free, 1)
86 FREERDP_API
char* crypto_base64_encode_len(const
void* WINPR_RESTRICT data,
size_t length,
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);
93 WINPR_ATTR_MALLOC(free, 1)
94 FREERDP_API
char* crypto_base64url_encode(const BYTE* WINPR_RESTRICT data,
size_t length);
107 WINPR_ATTR_MALLOC(free, 1)
108 FREERDP_API
char* crypto_base64url_encode_len(const
void* WINPR_RESTRICT data,
size_t length,
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);
115 WINPR_ATTR_MALLOC(free, 1)
116 FREERDP_API
char* crypto_read_pem(const
char* WINPR_RESTRICT filename,
117 size_t* WINPR_RESTRICT plength);
120 FREERDP_API BOOL crypto_write_pem(const
char* WINPR_RESTRICT filename,
121 const
char* WINPR_RESTRICT pem,
size_t length);