FreeRDP
libfreerdp/crypto/crypto.c File Reference
#include <errno.h>
#include <openssl/objects.h>
#include <openssl/bn.h>
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <winpr/assert.h>
#include <freerdp/log.h>
#include <freerdp/crypto/crypto.h>
#include "crypto.h"
#include "privatekey.h"

Macros

#define TAG   FREERDP_TAG("crypto")
 

Functions

static SSIZE_T crypto_rsa_common (const BYTE *input, size_t length, UINT32 key_length, const BYTE *modulus, const BYTE *exponent, size_t exponent_size, BYTE *output, size_t out_length)
 
static SSIZE_T crypto_rsa_public (const BYTE *input, size_t length, const rdpCertInfo *cert, BYTE *output, size_t output_length)
 
static SSIZE_T crypto_rsa_private (const BYTE *input, size_t length, const rdpPrivateKey *key, BYTE *output, size_t output_length)
 
SSIZE_T crypto_rsa_public_encrypt (const BYTE *input, size_t length, const rdpCertInfo *cert, BYTE *output, size_t output_length)
 
SSIZE_T crypto_rsa_public_decrypt (const BYTE *input, size_t length, const rdpCertInfo *cert, BYTE *output, size_t output_length)
 
SSIZE_T crypto_rsa_private_encrypt (const BYTE *input, size_t length, const rdpPrivateKey *key, BYTE *output, size_t output_length)
 
SSIZE_T crypto_rsa_private_decrypt (const BYTE *input, size_t length, const rdpPrivateKey *key, BYTE *output, size_t output_length)
 
void crypto_reverse (BYTE *data, size_t length)
 
char * crypto_read_pem (const char *filename, size_t *plength)
 
BOOL crypto_write_pem (const char *filename, const char *pem, size_t length)
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("crypto")

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 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.

Function Documentation

◆ crypto_read_pem()

char* crypto_read_pem ( const char *  filename,
size_t *  plength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_reverse()

void crypto_reverse ( BYTE data,
size_t  length 
)
Here is the caller graph for this function:

◆ crypto_rsa_common()

static SSIZE_T crypto_rsa_common ( const BYTE input,
size_t  length,
UINT32  key_length,
const BYTE modulus,
const BYTE exponent,
size_t  exponent_size,
BYTE output,
size_t  out_length 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_rsa_private()

static SSIZE_T crypto_rsa_private ( const BYTE input,
size_t  length,
const rdpPrivateKey *  key,
BYTE output,
size_t  output_length 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_rsa_private_decrypt()

SSIZE_T crypto_rsa_private_decrypt ( const BYTE input,
size_t  length,
const rdpPrivateKey *  key,
BYTE output,
size_t  output_length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_rsa_private_encrypt()

SSIZE_T crypto_rsa_private_encrypt ( const BYTE input,
size_t  length,
const rdpPrivateKey *  key,
BYTE output,
size_t  output_length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_rsa_public()

static SSIZE_T crypto_rsa_public ( const BYTE input,
size_t  length,
const rdpCertInfo *  cert,
BYTE output,
size_t  output_length 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_rsa_public_decrypt()

SSIZE_T crypto_rsa_public_decrypt ( const BYTE input,
size_t  length,
const rdpCertInfo *  cert,
BYTE output,
size_t  output_length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crypto_rsa_public_encrypt()

SSIZE_T crypto_rsa_public_encrypt ( const BYTE input,
size_t  length,
const rdpCertInfo *  cert,
BYTE output,
size_t  output_length 
)

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.

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

◆ crypto_write_pem()

BOOL crypto_write_pem ( const char *  filename,
const char *  pem,
size_t  length 
)
Here is the call graph for this function:
Here is the caller graph for this function: