FreeRDP
certificate_data.h
1 
22 #ifndef FREERDP_CRYPTO_CERTIFICATE_DATA_H
23 #define FREERDP_CRYPTO_CERTIFICATE_DATA_H
24 
25 #include <freerdp/api.h>
26 #include <freerdp/settings.h>
27 #include <freerdp/crypto/certificate.h>
28 
29 #ifdef __cplusplus
30 extern "C"
31 {
32 #endif
33 
34  typedef struct rdp_certificate_data rdpCertificateData;
35 
36  FREERDP_API char* freerdp_certificate_data_hash(const char* hostname, UINT16 port);
37 
38  FREERDP_API void freerdp_certificate_data_free(rdpCertificateData* data);
39 
40  WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
41  FREERDP_API rdpCertificateData* freerdp_certificate_data_new(const char* hostname, UINT16 port,
42  const rdpCertificate* xcert);
43 
44  WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
45  FREERDP_API rdpCertificateData* freerdp_certificate_data_new_from_pem(const char* hostname,
46  UINT16 port,
47  const char* pem,
48  size_t length);
49 
50  WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
51  FREERDP_API rdpCertificateData*
52  freerdp_certificate_data_new_from_file(const char* hostname, UINT16 port, const char* file);
53 
54  FREERDP_API BOOL freerdp_certificate_data_equal(const rdpCertificateData* a,
55  const rdpCertificateData* b);
56 
57  FREERDP_API const char* freerdp_certificate_data_get_hash(const rdpCertificateData* cert);
58 
59  FREERDP_API const char* freerdp_certificate_data_get_host(const rdpCertificateData* cert);
60  FREERDP_API UINT16 freerdp_certificate_data_get_port(const rdpCertificateData* cert);
61 
62  FREERDP_API const char* freerdp_certificate_data_get_pem(const rdpCertificateData* cert);
63  FREERDP_API const char* freerdp_certificate_data_get_pem_ex(const rdpCertificateData* cert,
64  BOOL withFullChain);
65  FREERDP_API const char* freerdp_certificate_data_get_subject(const rdpCertificateData* cert);
66  FREERDP_API const char* freerdp_certificate_data_get_issuer(const rdpCertificateData* cert);
67  FREERDP_API const char*
68  freerdp_certificate_data_get_fingerprint(const rdpCertificateData* cert);
69 
70 #ifdef __cplusplus
71 }
72 #endif
73 
74 #endif /* FREERDP_CRYPTO_CERTIFICATE_DATA_H */