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 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file(const char* keyfile);
40
41 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
42 WINPR_ATTR_NODISCARD
43 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem(const char* pem);
44
52 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
53 WINPR_ATTR_NODISCARD
54 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file_enc(const char* keyfile,
55 const char* password);
56
64 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
65 WINPR_ATTR_NODISCARD
66 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem_enc(const char* pem, const char* password);
67
68 FREERDP_API BOOL freerdp_key_is_rsa(const rdpPrivateKey* key);
69
70 FREERDP_API size_t freerdp_key_get_bits(const rdpPrivateKey* key);
71
81 WINPR_ATTR_MALLOC(free, 1)
82 WINPR_ATTR_NODISCARD
83 FREERDP_API char* freerdp_key_get_pem(const rdpPrivateKey* key, size_t* plen,
84 const char* password);
85
94 FREERDP_API BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, ...);
95
96#ifdef __cplusplus
97}
98#endif
99
100#endif /* FREERDP_CRYPTO_PRIVATEKEY_H */