PolarSSL v1.3.9
openssl.h File Reference

OpenSSL wrapper (definitions, inline functions). More...

#include "aes.h"
#include "md5.h"
#include "rsa.h"
#include "sha1.h"
Include dependency graph for openssl.h:

Go to the source code of this file.

Macros

#define AES_SIZE   16
 
#define AES_BLOCK_SIZE   16
 
#define AES_KEY   aes_context
 
#define MD5_CTX   md5_context
 
#define SHA_CTX   sha1_context
 
#define SHA1_Init(CTX)
 
#define SHA1_Update( CTX, BUF, LEN)
 
#define SHA1_Final(OUT, CTX)
 
#define MD5_Init(CTX)
 
#define MD5_Update(CTX, BUF, LEN)
 
#define MD5_Final(OUT, CTX)
 
#define AES_set_encrypt_key(KEY, KEYSIZE, CTX)
 
#define AES_set_decrypt_key(KEY, KEYSIZE, CTX)
 
#define AES_cbc_encrypt(INPUT, OUTPUT, LEN, CTX, IV, MODE)
 
#define RSA   rsa_context
 
#define RSA_PKCS1_PADDING   1 /* ignored; always encrypt with this */
 
#define RSA_size(CTX)
 
#define RSA_free(CTX)
 
#define ERR_get_error()
 
#define RSA_blinding_off(IGNORE)
 
#define d2i_RSAPrivateKey(a, b, c)
 

Functions

int __RSA_Passthrough (void *output, void *input, int size)
 
rsa_contextd2i_RSA_PUBKEY (void *ignore, unsigned char **bufptr, int len)
 
int RSA_public_decrypt (int size, unsigned char *input, unsigned char *output, RSA *key, int ignore)
 
int RSA_private_decrypt (int size, unsigned char *input, unsigned char *output, RSA *key, int ignore)
 
int RSA_public_encrypt (int size, unsigned char *input, unsigned char *output, RSA *key, int ignore)
 
int RSA_private_encrypt (int size, unsigned char *input, unsigned char *output, RSA *key, int ignore)
 

Detailed Description

OpenSSL wrapper (definitions, inline functions).

Copyright (C) 2006-2010, Brainspark B.V.

This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Definition in file openssl.h.

Macro Definition Documentation

◆ AES_BLOCK_SIZE

#define AES_BLOCK_SIZE   16

Definition at line 39 of file openssl.h.

◆ AES_cbc_encrypt

#define AES_cbc_encrypt ( INPUT,
OUTPUT,
LEN,
CTX,
IV,
MODE )
Value:
aes_crypt_cbc( (CTX), (MODE), (LEN), (IV), (INPUT), (OUTPUT) )
int aes_crypt_cbc(aes_context *ctx, int mode, size_t length, unsigned char iv[16], const unsigned char *input, unsigned char *output)
AES-CBC buffer encryption/decryption Length should be a multiple of the block size (16 bytes)

Definition at line 62 of file openssl.h.

◆ AES_KEY

#define AES_KEY   aes_context

Definition at line 40 of file openssl.h.

◆ AES_set_decrypt_key

#define AES_set_decrypt_key ( KEY,
KEYSIZE,
CTX )
Value:
aes_setkey_dec( (CTX), (KEY), (KEYSIZE) )
int aes_setkey_dec(aes_context *ctx, const unsigned char *key, unsigned int keysize)
AES key schedule (decryption)

Definition at line 60 of file openssl.h.

◆ AES_set_encrypt_key

#define AES_set_encrypt_key ( KEY,
KEYSIZE,
CTX )
Value:
aes_setkey_enc( (CTX), (KEY), (KEYSIZE) )
int aes_setkey_enc(aes_context *ctx, const unsigned char *key, unsigned int keysize)
AES key schedule (encryption)

Definition at line 58 of file openssl.h.

◆ AES_SIZE

#define AES_SIZE   16

Definition at line 38 of file openssl.h.

◆ d2i_RSAPrivateKey

#define d2i_RSAPrivateKey ( a,
b,
c )
Value:
new rsa_context /* TODO: C++ bleh */
RSA context structure.
Definition rsa.h:84

Definition at line 129 of file openssl.h.

◆ ERR_get_error

#define ERR_get_error ( )
Value:
"ERR_get_error() not supported"

Definition at line 126 of file openssl.h.

◆ MD5_CTX

#define MD5_CTX   md5_context

Definition at line 41 of file openssl.h.

◆ MD5_Final

#define MD5_Final ( OUT,
CTX )
Value:
md5_finish( (CTX), (OUT) )
void md5_finish(md5_context *ctx, unsigned char output[16])
MD5 final digest.

Definition at line 55 of file openssl.h.

◆ MD5_Init

#define MD5_Init ( CTX)
Value:
md5_starts( (CTX) )
void md5_starts(md5_context *ctx)
MD5 context setup.

Definition at line 51 of file openssl.h.

◆ MD5_Update

#define MD5_Update ( CTX,
BUF,
LEN )
Value:
md5_update( (CTX), (unsigned char *)(BUF), (LEN) )
void md5_update(md5_context *ctx, const unsigned char *input, size_t ilen)
MD5 process buffer.

Definition at line 53 of file openssl.h.

◆ RSA

#define RSA   rsa_context

Definition at line 122 of file openssl.h.

◆ RSA_blinding_off

#define RSA_blinding_off ( IGNORE)

Definition at line 127 of file openssl.h.

◆ RSA_free

#define RSA_free ( CTX)
Value:
rsa_free( CTX )
void rsa_free(rsa_context *ctx)
Free the components of an RSA key.

Definition at line 125 of file openssl.h.

◆ RSA_PKCS1_PADDING

#define RSA_PKCS1_PADDING   1 /* ignored; always encrypt with this */

Definition at line 123 of file openssl.h.

◆ RSA_size

#define RSA_size ( CTX)
Value:
(CTX)->len

Definition at line 124 of file openssl.h.

Referenced by RSA_private_encrypt(), and RSA_public_encrypt().

◆ SHA1_Final

#define SHA1_Final ( OUT,
CTX )
Value:
sha1_finish( (CTX), (OUT) )
void sha1_finish(sha1_context *ctx, unsigned char output[20])
SHA-1 final digest.

Definition at line 48 of file openssl.h.

◆ SHA1_Init

#define SHA1_Init ( CTX)
Value:
sha1_starts( (CTX) )
void sha1_starts(sha1_context *ctx)
SHA-1 context setup.

Definition at line 44 of file openssl.h.

◆ SHA1_Update

#define SHA1_Update ( CTX,
BUF,
LEN )
Value:
sha1_update( (CTX), (unsigned char *)(BUF), (LEN) )
void sha1_update(sha1_context *ctx, const unsigned char *input, size_t ilen)
SHA-1 process buffer.

Definition at line 46 of file openssl.h.

◆ SHA_CTX

#define SHA_CTX   sha1_context

Definition at line 42 of file openssl.h.

Function Documentation

◆ __RSA_Passthrough()

int __RSA_Passthrough ( void * output,
void * input,
int size )
inline

Definition at line 72 of file openssl.h.

◆ d2i_RSA_PUBKEY()

rsa_context * d2i_RSA_PUBKEY ( void * ignore,
unsigned char ** bufptr,
int len )
inline

Definition at line 78 of file openssl.h.

References rsa_context::E, rsa_context::len, mpi_msb(), mpi_read_binary(), and rsa_context::N.

◆ RSA_private_decrypt()

int RSA_private_decrypt ( int size,
unsigned char * input,
unsigned char * output,
RSA * key,
int ignore )
inline

Definition at line 132 of file openssl.h.

References rsa_pkcs1_decrypt(), and RSA_PRIVATE.

◆ RSA_private_encrypt()

int RSA_private_encrypt ( int size,
unsigned char * input,
unsigned char * output,
RSA * key,
int ignore )
inline

Definition at line 134 of file openssl.h.

References rsa_pkcs1_encrypt(), RSA_PRIVATE, and RSA_size.

◆ RSA_public_decrypt()

int RSA_public_decrypt ( int size,
unsigned char * input,
unsigned char * output,
RSA * key,
int ignore )
inline

Definition at line 131 of file openssl.h.

References rsa_pkcs1_decrypt(), and RSA_PUBLIC.

◆ RSA_public_encrypt()

int RSA_public_encrypt ( int size,
unsigned char * input,
unsigned char * output,
RSA * key,
int ignore )
inline

Definition at line 133 of file openssl.h.

References rsa_pkcs1_encrypt(), RSA_PUBLIC, and RSA_size.