FreeRDP
Loading...
Searching...
No Matches
libfreerdp/crypto/privatekey.h
1
21#ifndef FREERDP_LIB_CORE_PRIVATEKEY_H
22#define FREERDP_LIB_CORE_PRIVATEKEY_H
23
24#include <freerdp/api.h>
25#include <freerdp/crypto/crypto.h>
26#include <freerdp/crypto/privatekey.h>
27
28#include <openssl/rsa.h>
29#include <openssl/evp.h>
30
31#ifdef __cplusplus
32extern "C"
33{
34#endif
35
36 enum FREERDP_KEY_PARAM
37 {
38 FREERDP_KEY_PARAM_RSA_D,
39 FREERDP_KEY_PARAM_RSA_E,
40 FREERDP_KEY_PARAM_RSA_N
41 };
42
43 FREERDP_LOCAL rdpPrivateKey* freerdp_key_clone(const rdpPrivateKey* key);
44
45 FREERDP_LOCAL const rdpCertInfo* freerdp_key_get_info(const rdpPrivateKey* key);
46 FREERDP_LOCAL const BYTE* freerdp_key_get_exponent(const rdpPrivateKey* key, size_t* plength);
47
51 FREERDP_LOCAL EVP_PKEY* freerdp_key_get_evp_pkey(const rdpPrivateKey* key);
52
53 FREERDP_LOCAL BYTE* freerdp_key_get_param(const rdpPrivateKey* key,
54 enum FREERDP_KEY_PARAM param, size_t* plength);
55
56 FREERDP_LOCAL WINPR_DIGEST_CTX* freerdp_key_digest_sign(rdpPrivateKey* key,
57 WINPR_MD_TYPE digest);
58
59 FREERDP_LOCAL extern const rdpPrivateKey* priv_key_tssk;
60
61#ifdef __cplusplus
62}
63#endif
64
65#endif /* FREERDP_LIB_CORE_PRIVATEKEY_H */