FreeRDP
libfreerdp/core/certificate.h File Reference
#include "rdp.h"
#include <freerdp/crypto/ber.h>
#include <freerdp/crypto/crypto.h>
#include <freerdp/settings.h>
#include <freerdp/log.h>
#include <freerdp/api.h>
#include <winpr/print.h>
#include <winpr/stream.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
 
#define CERTIFICATE_TAG   FREERDP_TAG("core.certificate")
 
#define DEBUG_CERTIFICATE(...)
 

Functions

FREERDP_LOCAL BOOL certificate_read_server_certificate (rdpCertificate *certificate, const BYTE *server_cert, size_t length)
 
FREERDP_LOCAL SSIZE_T certificate_write_server_certificate (const rdpCertificate *certificate, UINT32 dwVersion, wStream *s)
 
FREERDP_LOCAL rdpCertificate * certificate_clone (const rdpCertificate *certificate)
 
FREERDP_LOCAL rdpCertificate * certificate_new (void)
 
FREERDP_LOCAL rdpCertificate * certificate_new_from_file (const char *file)
 
FREERDP_LOCAL rdpCertificate * certificate_new_from_pem (const char *pem)
 
FREERDP_LOCAL void certificate_free (rdpCertificate *certificate)
 
FREERDP_LOCAL rdpRsaKeykey_new (const char *keyfile)
 
FREERDP_LOCAL rdpRsaKeykey_new_from_content (const char *keycontent, const char *keyfile)
 
FREERDP_LOCAL void key_free (rdpRsaKey *key)
 
FREERDP_LOCAL rdpRsaKeykey_clone (const rdpRsaKey *key)
 

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

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

◆ CERTIFICATE_TAG

#define CERTIFICATE_TAG   FREERDP_TAG("core.certificate")

◆ DEBUG_CERTIFICATE

#define DEBUG_CERTIFICATE (   ...)
Value:
do \
{ \
} while (0)

◆ KEY_EXCHANGE_ALG_RSA

#define KEY_EXCHANGE_ALG_RSA   0x00000001

◆ SIGNATURE_ALG_RSA

#define SIGNATURE_ALG_RSA   0x00000001

Function Documentation

◆ certificate_clone()

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

◆ certificate_free()

FREERDP_LOCAL void certificate_free ( rdpCertificate *  certificate)

Free certificate module.

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

◆ certificate_new()

FREERDP_LOCAL rdpCertificate* certificate_new ( void  )

Instantiate new certificate module.

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

◆ certificate_new_from_file()

FREERDP_LOCAL rdpCertificate* certificate_new_from_file ( const char *  file)
Here is the call graph for this function:

◆ certificate_new_from_pem()

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

◆ certificate_read_server_certificate()

FREERDP_LOCAL BOOL certificate_read_server_certificate ( 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:

◆ certificate_write_server_certificate()

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

◆ key_clone()

FREERDP_LOCAL rdpRsaKey* key_clone ( const rdpRsaKey key)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ key_free()

FREERDP_LOCAL void key_free ( rdpRsaKey key)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ key_new()

FREERDP_LOCAL rdpRsaKey* key_new ( const char *  keyfile)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ key_new_from_content()

FREERDP_LOCAL rdpRsaKey* key_new_from_content ( const char *  keycontent,
const char *  keyfile 
)
Here is the call graph for this function:
Here is the caller graph for this function: