FreeRDP
Loading...
Searching...
No Matches
include/freerdp/crypto/privatekey.h
1
21#ifndef FREERDP_CRYPTO_PRIVATEKEY_H
22#define FREERDP_CRYPTO_PRIVATEKEY_H
23
24#include <freerdp/api.h>
25
26#ifdef __cplusplus
27extern "C"
28{
29#endif
30
31 typedef struct rdp_private_key rdpPrivateKey;
32
33 FREERDP_API void freerdp_key_free(rdpPrivateKey* key);
34
35 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
36 WINPR_ATTR_NODISCARD
37 FREERDP_API rdpPrivateKey* freerdp_key_new(void);
38
39 WINPR_ATTR_NODISCARD
40 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file(const char* keyfile);
41
42 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
43 WINPR_ATTR_NODISCARD
44 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem(const char* pem);
45
53 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
54 WINPR_ATTR_NODISCARD
55 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file_enc(const char* keyfile,
56 const char* password);
57
65 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
66 WINPR_ATTR_NODISCARD
67 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem_enc(const char* pem, const char* password);
68
69 WINPR_ATTR_NODISCARD
70 FREERDP_API BOOL freerdp_key_is_rsa(const rdpPrivateKey* key);
71
72 WINPR_ATTR_NODISCARD
73 FREERDP_API size_t freerdp_key_get_bits(const rdpPrivateKey* key);
74
84 WINPR_ATTR_MALLOC(free, 1)
85 WINPR_ATTR_NODISCARD
86 FREERDP_API char* freerdp_key_get_pem(const rdpPrivateKey* key, size_t* plen,
87 const char* password);
88
97 WINPR_ATTR_NODISCARD
98 FREERDP_API BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, ...);
99
100#ifdef __cplusplus
101}
102#endif
103
104#endif /* FREERDP_CRYPTO_PRIVATEKEY_H */