FreeRDP
include/freerdp/crypto/certificate.h File Reference
#include <winpr/crypto.h>
#include <freerdp/api.h>

Enumerations

enum  FREERDP_CERT_PARAM { FREERDP_CERT_RSA_E , FREERDP_CERT_RSA_N }
 

Functions

FREERDP_API void freerdp_certificate_free (rdpCertificate *certificate)
 
FREERDP_API rdpCertificate * freerdp_certificate_new (void)
 
FREERDP_API rdpCertificate * freerdp_certificate_new_from_file (const char *file)
 
FREERDP_API rdpCertificate * freerdp_certificate_new_from_pem (const char *pem)
 
FREERDP_API rdpCertificate * freerdp_certificate_new_from_der (const BYTE *data, size_t length)
 
FREERDP_API BOOL freerdp_certificate_is_rsa (const rdpCertificate *certificate)
 
FREERDP_API char * freerdp_certificate_get_hash (const rdpCertificate *certificate, const char *hash, size_t *plength)
 
FREERDP_API char * freerdp_certificate_get_fingerprint_by_hash (const rdpCertificate *certificate, const char *hash)
 
FREERDP_API char * freerdp_certificate_get_fingerprint_by_hash_ex (const rdpCertificate *certificate, const char *hash, BOOL separator)
 
FREERDP_API char * freerdp_certificate_get_fingerprint (const rdpCertificate *certificate)
 
FREERDP_API char * freerdp_certificate_get_pem (const rdpCertificate *certificate, size_t *pLength)
 
FREERDP_API char * freerdp_certificate_get_pem_ex (const rdpCertificate *certificate, size_t *pLength, BOOL withCertChain)
 
FREERDP_API BYTEfreerdp_certificate_get_der (const rdpCertificate *certificate, size_t *pLength)
 
FREERDP_API char * freerdp_certificate_get_subject (const rdpCertificate *certificate)
 
FREERDP_API char * freerdp_certificate_get_issuer (const rdpCertificate *certificate)
 
FREERDP_API char * freerdp_certificate_get_upn (const rdpCertificate *certificate)
 
FREERDP_API char * freerdp_certificate_get_email (const rdpCertificate *certificate)
 
FREERDP_API char * freerdp_certificate_get_validity (const rdpCertificate *certificate, BOOL startDate)
 
FREERDP_API WINPR_MD_TYPE freerdp_certificate_get_signature_alg (const rdpCertificate *cert)
 
FREERDP_API char * freerdp_certificate_get_common_name (const rdpCertificate *cert, size_t *plength)
 
FREERDP_API char ** freerdp_certificate_get_dns_names (const rdpCertificate *cert, size_t *pcount, size_t **pplengths)
 
FREERDP_API void freerdp_certificate_free_dns_names (size_t count, size_t *lengths, char **names)
 
FREERDP_API BOOL freerdp_certificate_check_eku (const rdpCertificate *certificate, int nid)
 
FREERDP_API BOOL freerdp_certificate_get_public_key (const rdpCertificate *cert, BYTE **PublicKey, DWORD *PublicKeyLength)
 
FREERDP_API BOOL freerdp_certificate_verify (const rdpCertificate *cert, const char *certificate_store_path)
 
FREERDP_API BOOL freerdp_certificate_is_rdp_security_compatible (const rdpCertificate *cert)
 
FREERDP_API char * freerdp_certificate_get_param (const rdpCertificate *cert, enum FREERDP_CERT_PARAM what, size_t *psize)
 

Enumeration Type Documentation

◆ FREERDP_CERT_PARAM

FreeRDP: A Remote Desktop Protocol Implementation Certificate Handling

Copyright 2023 Armin Novak anova.nosp@m.k@th.nosp@m.incas.nosp@m.t.co.nosp@m.m Copyright 2023 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Enumerator
FREERDP_CERT_RSA_E 
FREERDP_CERT_RSA_N 

Function Documentation

◆ freerdp_certificate_check_eku()

FREERDP_API BOOL freerdp_certificate_check_eku ( const rdpCertificate *  certificate,
int  nid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_free()

FREERDP_API void freerdp_certificate_free ( rdpCertificate *  cert)

Free certificate module.

Parameters
certcertificate module to be freed
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_free_dns_names()

FREERDP_API void freerdp_certificate_free_dns_names ( size_t  count,
size_t *  lengths,
char **  names 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_common_name()

FREERDP_API char* freerdp_certificate_get_common_name ( const rdpCertificate *  cert,
size_t *  plength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_der()

FREERDP_API BYTE* freerdp_certificate_get_der ( const rdpCertificate *  certificate,
size_t *  pLength 
)
Here is the caller graph for this function:

◆ freerdp_certificate_get_dns_names()

FREERDP_API char** freerdp_certificate_get_dns_names ( const rdpCertificate *  cert,
size_t *  pcount,
size_t **  pplengths 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_email()

FREERDP_API char* freerdp_certificate_get_email ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_fingerprint()

FREERDP_API char* freerdp_certificate_get_fingerprint ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_fingerprint_by_hash()

FREERDP_API char* freerdp_certificate_get_fingerprint_by_hash ( const rdpCertificate *  certificate,
const char *  hash 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_fingerprint_by_hash_ex()

FREERDP_API char* freerdp_certificate_get_fingerprint_by_hash_ex ( const rdpCertificate *  certificate,
const char *  hash,
BOOL  separator 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_hash()

FREERDP_API char* freerdp_certificate_get_hash ( const rdpCertificate *  certificate,
const char *  hash,
size_t *  plength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_issuer()

FREERDP_API char* freerdp_certificate_get_issuer ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_param()

FREERDP_API char* freerdp_certificate_get_param ( const rdpCertificate *  cert,
enum FREERDP_CERT_PARAM  what,
size_t *  psize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_pem()

FREERDP_API char* freerdp_certificate_get_pem ( const rdpCertificate *  certificate,
size_t *  pLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_pem_ex()

FREERDP_API char* freerdp_certificate_get_pem_ex ( const rdpCertificate *  certificate,
size_t *  pLength,
BOOL  withCertChain 
)

Don't manage certificates internally, leave it up entirely to the external client implementation

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_public_key()

FREERDP_API BOOL freerdp_certificate_get_public_key ( const rdpCertificate *  cert,
BYTE **  PublicKey,
DWORD *  PublicKeyLength 
)
Here is the caller graph for this function:

◆ freerdp_certificate_get_signature_alg()

FREERDP_API WINPR_MD_TYPE freerdp_certificate_get_signature_alg ( const rdpCertificate *  cert)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_subject()

FREERDP_API char* freerdp_certificate_get_subject ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_upn()

FREERDP_API char* freerdp_certificate_get_upn ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_validity()

FREERDP_API char* freerdp_certificate_get_validity ( const rdpCertificate *  certificate,
BOOL  startDate 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_is_rdp_security_compatible()

FREERDP_API BOOL freerdp_certificate_is_rdp_security_compatible ( const rdpCertificate *  cert)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_is_rsa()

FREERDP_API BOOL freerdp_certificate_is_rsa ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_new()

FREERDP_API rdpCertificate* freerdp_certificate_new ( void  )

Instantiate new certificate module.

Returns
new certificate module
Here is the caller graph for this function:

◆ freerdp_certificate_new_from_der()

FREERDP_API rdpCertificate* freerdp_certificate_new_from_der ( const BYTE data,
size_t  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_new_from_file()

FREERDP_API rdpCertificate* freerdp_certificate_new_from_file ( const char *  file)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_new_from_pem()

FREERDP_API rdpCertificate* freerdp_certificate_new_from_pem ( const char *  pem)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_verify()

FREERDP_API BOOL freerdp_certificate_verify ( const rdpCertificate *  cert,
const char *  certificate_store_path 
)
Here is the call graph for this function:
Here is the caller graph for this function: