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 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file(const char* keyfile);
39
40 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
41 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem(const char* pem);
42
50 FREERDP_API rdpPrivateKey* freerdp_key_new_from_file_enc(const char* keyfile,
51 const char* password);
52
60 WINPR_ATTR_MALLOC(freerdp_key_free, 1)
61 FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem_enc(const char* pem, const char* password);
62
63 FREERDP_API BOOL freerdp_key_is_rsa(const rdpPrivateKey* key);
64
65 FREERDP_API size_t freerdp_key_get_bits(const rdpPrivateKey* key);
66
76 WINPR_ATTR_MALLOC(free, 1)
77 FREERDP_API char* freerdp_key_get_pem(const rdpPrivateKey* key, size_t* plen,
78 const char* password);
79
88 FREERDP_API BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, ...);
89
90#ifdef __cplusplus
91}
92#endif
93
94#endif /* FREERDP_CRYPTO_PRIVATEKEY_H */