FreeRDP
include/freerdp/crypto/crypto.h File Reference
#include <winpr/windows.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/bn.h>
#include <openssl/x509v3.h>
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
#include <freerdp/crypto/certificate.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  CryptoCert
 

Macros

#define D2I_X509_CONST
 
#define EXPONENT_MAX_SIZE   4
 
#define TSSK_KEY_LENGTH   64
 

Functions

FREERDP_API CryptoCert crypto_cert_read (BYTE *data, UINT32 length)
 
FREERDP_API char * crypto_cert_fingerprint (X509 *xcert)
 
FREERDP_API char * crypto_cert_subject (X509 *xcert)
 
FREERDP_API char * crypto_cert_subject_common_name (X509 *xcert, int *length)
 
FREERDP_API char ** crypto_cert_get_dns_names (X509 *xcert, int *count, int **lengths)
 
FREERDP_API char * crypto_cert_get_email (X509 *x509)
 
FREERDP_API char * crypto_cert_get_upn (X509 *x509)
 
FREERDP_API void crypto_cert_dns_names_free (int count, int *lengths, char **dns_names)
 
FREERDP_API char * crypto_cert_issuer (X509 *xcert)
 
FREERDP_API void crypto_cert_print_info (X509 *xcert)
 
FREERDP_API void crypto_cert_free (CryptoCert cert)
 
FREERDP_API char ** crypto_cert_subject_alt_name (X509 *xcert, int *count, int **lengths)
 
FREERDP_API void crypto_cert_subject_alt_name_free (int count, int *lengths, char **alt_names)
 
FREERDP_API BOOL x509_verify_certificate (CryptoCert cert, const char *certificate_store_path)
 
FREERDP_API rdpCertificateData * crypto_get_certificate_data (X509 *xcert, const char *hostname, UINT16 port)
 
FREERDP_API BOOL crypto_cert_get_public_key (CryptoCert cert, BYTE **PublicKey, DWORD *PublicKeyLength)
 
FREERDP_API int crypto_rsa_public_encrypt (const BYTE *input, int length, UINT32 key_length, const BYTE *modulus, const BYTE *exponent, BYTE *output)
 
FREERDP_API int crypto_rsa_public_decrypt (const BYTE *input, int length, UINT32 key_length, const BYTE *modulus, const BYTE *exponent, BYTE *output)
 
FREERDP_API int crypto_rsa_private_encrypt (const BYTE *input, int length, UINT32 key_length, const BYTE *modulus, const BYTE *private_exponent, BYTE *output)
 
FREERDP_API int crypto_rsa_private_decrypt (const BYTE *input, int length, UINT32 key_length, const BYTE *modulus, const BYTE *private_exponent, BYTE *output)
 
FREERDP_API void crypto_reverse (BYTE *data, int length)
 
FREERDP_API char * crypto_base64_encode (const BYTE *data, int length)
 
FREERDP_API void crypto_base64_decode (const char *enc_data, int length, BYTE **dec_data, int *res_length)
 

Variables

const BYTE tssk_modulus []
 
const BYTE tssk_privateExponent []
 
const BYTE tssk_exponent []
 

Macro Definition Documentation

#define D2I_X509_CONST

FreeRDP: A Remote Desktop Protocol Implementation Cryptographic Abstraction Layer

Copyright 2011-2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

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.

#define EXPONENT_MAX_SIZE   4
#define TSSK_KEY_LENGTH   64

Function Documentation

FREERDP_API void crypto_base64_decode ( const char *  enc_data,
int  length,
BYTE **  dec_data,
int *  res_length 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API char* crypto_base64_encode ( const BYTE data,
int  length 
)

Here is the caller graph for this function:

FREERDP_API void crypto_cert_dns_names_free ( int  count,
int *  lengths,
char **  dns_names 
)

Here is the caller graph for this function:

FREERDP_API char* crypto_cert_fingerprint ( X509 *  xcert)

Here is the caller graph for this function:

FREERDP_API void crypto_cert_free ( CryptoCert  cert)
FREERDP_API char** crypto_cert_get_dns_names ( X509 *  xcert,
int *  count,
int **  lengths 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API char* crypto_cert_get_email ( X509 *  x509)

Here is the call graph for this function:

FREERDP_API BOOL crypto_cert_get_public_key ( CryptoCert  cert,
BYTE **  PublicKey,
DWORD *  PublicKeyLength 
)

Here is the caller graph for this function:

FREERDP_API char* crypto_cert_get_upn ( X509 *  x509)

Here is the call graph for this function:

FREERDP_API char* crypto_cert_issuer ( X509 *  xcert)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API void crypto_cert_print_info ( X509 *  xcert)

Here is the call graph for this function:

FREERDP_API CryptoCert crypto_cert_read ( BYTE data,
UINT32  length 
)
FREERDP_API char* crypto_cert_subject ( X509 *  xcert)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API char** crypto_cert_subject_alt_name ( X509 *  xcert,
int *  count,
int **  lengths 
)

Here is the call graph for this function:

FREERDP_API void crypto_cert_subject_alt_name_free ( int  count,
int *  lengths,
char **  alt_names 
)

Here is the call graph for this function:

FREERDP_API char* crypto_cert_subject_common_name ( X509 *  xcert,
int *  length 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API rdpCertificateData* crypto_get_certificate_data ( X509 *  xcert,
const char *  hostname,
UINT16  port 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API void crypto_reverse ( BYTE data,
int  length 
)

Here is the caller graph for this function:

FREERDP_API int crypto_rsa_private_decrypt ( const BYTE input,
int  length,
UINT32  key_length,
const BYTE modulus,
const BYTE private_exponent,
BYTE output 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int crypto_rsa_private_encrypt ( const BYTE input,
int  length,
UINT32  key_length,
const BYTE modulus,
const BYTE private_exponent,
BYTE output 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int crypto_rsa_public_decrypt ( const BYTE input,
int  length,
UINT32  key_length,
const BYTE modulus,
const BYTE exponent,
BYTE output 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int crypto_rsa_public_encrypt ( const BYTE input,
int  length,
UINT32  key_length,
const BYTE modulus,
const BYTE exponent,
BYTE output 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API BOOL x509_verify_certificate ( CryptoCert  cert,
const char *  certificate_store_path 
)

Here is the caller graph for this function:

Variable Documentation

const BYTE tssk_exponent[]
const BYTE tssk_modulus[]
const BYTE tssk_privateExponent[]