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 FREERDP_API rdpPrivateKey* freerdp_key_new(void);
37
38 WINPR_ATTR_NODISCARD
39 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file(const char* keyfile);
40
41 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
42 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem(const char* pem);
43
51 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
52 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file_enc(const char* keyfile,
53 const char* password);
54
62 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
63 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem_enc(const char* pem, const char* password);
64
65 WINPR_ATTR_NODISCARD
66 FREERDP_API BOOL freerdp_key_is_rsa(const rdpPrivateKey* key);
67
68 WINPR_ATTR_NODISCARD
69 FREERDP_API size_t freerdp_key_get_bits(const rdpPrivateKey* key);
70
80 WINPR_ATTR_MALLOC(free, 1)
81 FREERDP_API char* freerdp_key_get_pem(const rdpPrivateKey* key, size_t* plen,
82 const char* password);
83
92 WINPR_ATTR_NODISCARD
93 FREERDP_API BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, ...);
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif /* FREERDP_CRYPTO_PRIVATEKEY_H */