FreeRDP
|
#include <freerdp/config.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <winpr/assert.h>
#include <winpr/wtypes.h>
#include <winpr/crt.h>
#include <winpr/file.h>
#include <winpr/crypto.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>
#include <openssl/bn.h>
#include "privatekey.h"
#include "cert_common.h"
#include <freerdp/crypto/privatekey.h>
#include <openssl/evp.h>
#include "x509_utils.h"
#include "crypto.h"
#include "opensslcompat.h"
Macros | |
#define | TAG FREERDP_TAG("crypto") |
Functions | |
static RSA * | evp_pkey_to_rsa (const rdpPrivateKey *key) |
static EVP_PKEY * | evp_pkey_utils_from_pem (const char *data, size_t len, BOOL fromFile) |
static BOOL | key_read_private (rdpPrivateKey *key) |
rdpPrivateKey * | freerdp_key_new_from_pem (const char *pem) |
rdpPrivateKey * | freerdp_key_new_from_file (const char *keyfile) |
rdpPrivateKey * | freerdp_key_new (void) |
rdpPrivateKey * | freerdp_key_clone (const rdpPrivateKey *key) |
void | freerdp_key_free (rdpPrivateKey *key) |
const rdpCertInfo * | freerdp_key_get_info (const rdpPrivateKey *key) |
const BYTE * | freerdp_key_get_exponent (const rdpPrivateKey *key, size_t *plength) |
EVP_PKEY * | freerdp_key_get_evp_pkey (const rdpPrivateKey *key) |
returns a pointer to a EVP_PKEY structure. Call EVP_PKEY_free when done. More... | |
BOOL | freerdp_key_is_rsa (const rdpPrivateKey *key) |
size_t | freerdp_key_get_bits (const rdpPrivateKey *key) |
BOOL | freerdp_key_generate (rdpPrivateKey *key, size_t key_length) |
BYTE * | freerdp_key_get_param (const rdpPrivateKey *key, enum FREERDP_KEY_PARAM param, size_t *plength) |
WINPR_DIGEST_CTX * | freerdp_key_digest_sign (rdpPrivateKey *key, WINPR_MD_TYPE digest) |
Variables | |
static BYTE | tssk_modulus [] |
static BYTE | tssk_privateExponent [] |
static const rdpPrivateKey | tssk |
const rdpPrivateKey * | priv_key_tssk = &tssk |
#define TAG FREERDP_TAG("crypto") |
FreeRDP: A Remote Desktop Protocol Implementation Private key Handling
Copyright 2011 Jiten Pathy Copyright 2011 Marc-Andre Moreau marca Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger ndre .more au@g mail. commarti Copyright 2023 Armin Novak n.ha imber ger@ thinc ast. comanova Copyright 2023 Thincast Technologies GmbH k@th incas t.co m
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.
|
static |
|
static |
rdpPrivateKey* freerdp_key_clone | ( | const rdpPrivateKey * | key | ) |
WINPR_DIGEST_CTX* freerdp_key_digest_sign | ( | rdpPrivateKey * | key, |
WINPR_MD_TYPE | digest | ||
) |
void freerdp_key_free | ( | rdpPrivateKey * | key | ) |
BOOL freerdp_key_generate | ( | rdpPrivateKey * | key, |
size_t | key_length | ||
) |
size_t freerdp_key_get_bits | ( | const rdpPrivateKey * | key | ) |
EVP_PKEY* freerdp_key_get_evp_pkey | ( | const rdpPrivateKey * | key | ) |
returns a pointer to a EVP_PKEY structure. Call EVP_PKEY_free when done.
const BYTE* freerdp_key_get_exponent | ( | const rdpPrivateKey * | key, |
size_t * | plength | ||
) |
const rdpCertInfo* freerdp_key_get_info | ( | const rdpPrivateKey * | key | ) |
BYTE* freerdp_key_get_param | ( | const rdpPrivateKey * | key, |
enum FREERDP_KEY_PARAM | param, | ||
size_t * | plength | ||
) |
BOOL freerdp_key_is_rsa | ( | const rdpPrivateKey * | key | ) |
rdpPrivateKey* freerdp_key_new | ( | void | ) |
rdpPrivateKey* freerdp_key_new_from_file | ( | const char * | keyfile | ) |
rdpPrivateKey* freerdp_key_new_from_pem | ( | const char * | pem | ) |
|
static |
const rdpPrivateKey* priv_key_tssk = &tssk |
|
static |
|
static |
|
static |