FreeRDP
libfreerdp/crypto/certificate.h File Reference
#include <freerdp/crypto/crypto.h>
#include <freerdp/crypto/certificate.h>
#include <openssl/x509.h>
This graph shows which files directly or indirectly include this file:

Macros

#define CERT_CHAIN_VERSION_1   0x00000001
 
#define CERT_CHAIN_VERSION_2   0x00000002
 
#define CERT_CHAIN_VERSION_MASK   0x7FFFFFFF
 
#define CERT_PERMANENTLY_ISSUED   0x00000000
 
#define CERT_TEMPORARILY_ISSUED   0x80000000
 
#define SIGNATURE_ALG_RSA   0x00000001
 
#define KEY_EXCHANGE_ALG_RSA   0x00000001
 
#define BB_RSA_KEY_BLOB   6
 
#define BB_RSA_SIGNATURE_BLOB   8
 

Functions

FREERDP_LOCAL rdpCertificate * freerdp_certificate_new_from_x509 (const X509 *xcert, const STACK_OF(X509) *chain)
 
FREERDP_LOCAL BOOL freerdp_certificate_read_server_cert (rdpCertificate *certificate, const BYTE *server_cert, size_t length)
 
FREERDP_LOCAL SSIZE_T freerdp_certificate_write_server_cert (const rdpCertificate *certificate, UINT32 dwVersion, wStream *s)
 
FREERDP_LOCAL rdpCertificate * freerdp_certificate_clone (const rdpCertificate *certificate)
 
FREERDP_LOCAL const rdpCertInfo * freerdp_certificate_get_info (const rdpCertificate *certificate)
 
FREERDP_LOCAL X509 * freerdp_certificate_get_x509 (rdpCertificate *certificate)
 returns a pointer to a X509 structure. Call X509_free when done. More...
 
FREERDP_LOCAL BOOL freerdp_certificate_publickey_encrypt (const rdpCertificate *cert, const BYTE *input, size_t cbInput, BYTE **poutput, size_t *pcbOutput)
 

Macro Definition Documentation

◆ BB_RSA_KEY_BLOB

#define BB_RSA_KEY_BLOB   6

◆ BB_RSA_SIGNATURE_BLOB

#define BB_RSA_SIGNATURE_BLOB   8

◆ CERT_CHAIN_VERSION_1

#define CERT_CHAIN_VERSION_1   0x00000001

FreeRDP: A Remote Desktop Protocol Implementation Certificate Handling

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

◆ CERT_CHAIN_VERSION_2

#define CERT_CHAIN_VERSION_2   0x00000002

◆ CERT_CHAIN_VERSION_MASK

#define CERT_CHAIN_VERSION_MASK   0x7FFFFFFF

◆ CERT_PERMANENTLY_ISSUED

#define CERT_PERMANENTLY_ISSUED   0x00000000

◆ CERT_TEMPORARILY_ISSUED

#define CERT_TEMPORARILY_ISSUED   0x80000000

◆ KEY_EXCHANGE_ALG_RSA

#define KEY_EXCHANGE_ALG_RSA   0x00000001

◆ SIGNATURE_ALG_RSA

#define SIGNATURE_ALG_RSA   0x00000001

Function Documentation

◆ freerdp_certificate_clone()

FREERDP_LOCAL rdpCertificate* freerdp_certificate_clone ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_info()

FREERDP_LOCAL const rdpCertInfo* freerdp_certificate_get_info ( const rdpCertificate *  certificate)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_get_x509()

FREERDP_LOCAL X509* freerdp_certificate_get_x509 ( rdpCertificate *  certificate)

returns a pointer to a X509 structure. Call X509_free when done.

Here is the caller graph for this function:

◆ freerdp_certificate_new_from_x509()

FREERDP_LOCAL rdpCertificate* freerdp_certificate_new_from_x509 ( const X509 *  xcert,
const STACK_OF(X509) *  chain 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_publickey_encrypt()

FREERDP_LOCAL BOOL freerdp_certificate_publickey_encrypt ( const rdpCertificate *  cert,
const BYTE input,
size_t  cbInput,
BYTE **  poutput,
size_t *  pcbOutput 
)
Here is the call graph for this function:

◆ freerdp_certificate_read_server_cert()

FREERDP_LOCAL BOOL freerdp_certificate_read_server_cert ( rdpCertificate *  certificate,
const BYTE server_cert,
size_t  length 
)

Read a Server Certificate.

Parameters
certificatecertificate module
server_certserver certificate
lengthcertificate length
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_certificate_write_server_cert()

FREERDP_LOCAL SSIZE_T freerdp_certificate_write_server_cert ( const rdpCertificate *  certificate,
UINT32  dwVersion,
wStream s 
)
Here is the call graph for this function:
Here is the caller graph for this function: