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>
42 FREERDP_API
char* crypto_base64_encode(
const BYTE* WINPR_RESTRICT data,
size_t length);
55 FREERDP_API
char* crypto_base64_encode_ex(
const BYTE* WINPR_RESTRICT data,
size_t length,
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);
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);
69 FREERDP_API
char* crypto_read_pem(
const char* WINPR_RESTRICT filename,
70 size_t* WINPR_RESTRICT plength);
73 FREERDP_API BOOL crypto_write_pem(
const char* WINPR_RESTRICT filename,
74 const char* WINPR_RESTRICT pem,
size_t length);