HP Open Source Security for OpenVMS Volume 2: HP SSL for OpenVMS

CRYPTO Application Programming Interface (API) Reference

  Table of Contents


This reference section includes the OpenSSL Crypto APIs, and is based on information provided by The Open Group. This information can also be found at the following URL


The OpenSSL Crypto library implements a wide range of cryptographic algorithms used in various Internet standards. The services provided by this library are used by the OpenSSL implementations of SSL, TLS and S/MIME, and they have also been used to implement SSH, OpenPGP, and other cryptographic standards. The Crypto library consists of a number of sublibraries that implement the individual algorithms. The functionality includes symmetric encryption, public key cryptography and key agreement, certificate handling, cryptographic hash functions and a cryptographic pseudorandom number generator.

The Crypto library is provided in the form of a shareable image and is located at:

NOTE: The documentation for the following Crypto APIs are not included in this manual. The APIs themselves are provided in the HP SSL for OpenVMS kit and can be found in the preceding shareable images.

Table of Contents

ASN1_OBJECT_new() - object allocation functions
ASN1_STRING_dup() - ASN1_STRING utility functions
ASN1_STRING_new() - ASN1_STRING allocation functions
ASN1_STRING_print_ex() - ASN1_STRING output routines.
bio() - I/O abstraction
BIO_ctrl() - BIO control operations
BIO_f_base64() - base64 BIO filter
BIO_f_buffer() - buffering BIO
BIO_f_cipher() - cipher BIO filter
BIO_f_md() - message digest BIO filter
BIO_f_null() - null filter
BIO_f_ssl() - SSL BIO
BIO_find_type() - BIO chain traversal
BIO_new() - BIO allocation and freeing functions
BIO_push() - add and remove BIOs from a chain.
BIO_read() - BIO I/O functions
BIO_s_accept() - accept BIO
BIO_s_bio() - BIO pair BIO
BIO_s_connect() - connect BIO
BIO_s_fd() - file descriptor BIO
BIO_s_file() - FILE bio
BIO_s_mem() - memory BIO
BIO_s_null() - null data sink
BIO_s_socket() - socket BIO
BIO_set_callback() - BIO callback functions
BIO_should_retry() - BIO retry functions
blowfish() - Blowfish encryption
bn() - multiprecision integer arithmetics
BN_add() - arithmetic operations on BIGNUMs
BN_add_word() - arithmetic functions on BIGNUMs with integers
BN_bn2bin() - format conversions
BN_cmp() - BIGNUM comparison and test functions
BN_copy() - copy BIGNUMs
BN_CTX_new() - allocate and free BN_CTX structures
BN_CTX_start() - use temporary BIGNUM variables
BN_generate_prime() - generate primes and test for primality
bn_mul_words() - BIGNUM library internal functions
BN_mod_inverse() - compute inverse modulo n
BN_mod_mul_montgomery() - Montgomery multiplication
BN_mod_mul_reciprocal() - modular multiplication using reciprocal
BN_new() - allocate and free BIGNUMs
BN_num_bits() - get BIGNUM size
BN_rand() - generate pseudo-random number
BN_set_bit() - bit operations on BIGNUMs
BN_swap() - exchange BIGNUMs
BN_zero() - BIGNUM assignment operations
BUF_MEM_new() - simple character arrays structure
CONF_modules_free() - OpenSSL configuration cleanup functions
CONF_modules_load_file() - OpenSSL configuration functions
crypto() - OpenSSL cryptographic library
CRYPTO_set_ex_data() - internal application specific data functions
d2i_DHparams() - PKCS#3 DH parameter functions.
d2i_DSAPublicKey() - DSA key encoding and parsing functions.
d2i_PKCS8PrivateKey_bio() - PKCS#8 format private key functions
d2i_RSAPublicKey() - RSA public and private key encoding functions.
d2i_X509() - X509 encode and decode functions
d2i_X509_ALGOR() - AlgorithmIdentifier functions.
d2i_X509_CRL() - PKCS#10 certificate request functions.
d2i_X509_NAME() - X509_NAME encoding functions
d2i_X509_REQ() - PKCS#10 certificate request functions.
d2i_X509_SIG() - DigestInfo functions.
DES_random_key() - DES encryption
Modes() - the variants of DES and other crypto algorithms of OpenSSL
dh() - Diffie-Hellman key agreement
DH_generate_key() - perform Diffie-Hellman key exchange
DH_generate_parameters() - generate and check Diffie-Hellman parameters
DH_get_ex_new_index() - add application specific data to DH structures
DH_new() - allocate and free DH objects
DH_set_default_method() - select DH method
DH_size() - get Diffie-Hellman prime size
dsa() - Digital Signature Algorithm
DSA_do_sign() - raw DSA signature operations
DSA_dup_DH() - create a DH structure out of DSA structure
DSA_generate_key() - generate DSA key pair
DSA_generate_parameters() - generate DSA parameters
DSA_get_ex_new_index() - add application specific data to DSA structures
DSA_new() - allocate and free DSA objects
DSA_set_default_method() - select DSA method
DSA_SIG_new() - allocate and free DSA signature objects
DSA_sign() - DSA signatures
DSA_size() - get DSA signature size
engine() - ENGINE cryptographic module support
err() - error codes
ERR_clear_error() - clear the error queue
ERR_error_string() - obtain human-readable error message
ERR_get_error() - obtain error code and data
ERR_GET_LIB() - get library, function and reason code
ERR_load_crypto_strings() - load and free error strings
ERR_load_strings() - load arbitrary error strings
ERR_print_errors() - print error messages
ERR_put_error() - record an error
ERR_remove_state() - free a thread's error queue
evp() - high-level cryptographic functions
EVP_BytesToKey() - password based encryption routine
EVP_MD_CTX_init() - EVP digest routines
EVP_CIPHER_CTX_init() - EVP cipher routines
EVP_OpenInit() - EVP envelope decryption
EVP_PKEY_new() - private key allocation functions.
EVP_PKEY_set1_RSA() - EVP_PKEY assignment functions.
EVP_SealInit() - EVP envelope encryption
EVP_SignInit() - EVP signing functions
EVP_VerifyInit() - EVP signature verification functions
HMAC() - HMAC message authentication code
lh_stats() - LHASH statistics
lh_new() - dynamic hash table
MD2() - MD2, MD4, and MD5 hash functions
MDC2() - MDC2 hash function
OBJ_nid2obj() - ASN1 object utility functions
OpenSSL_add_all_algorithms() - add algorithms to internal table
OPENSSL_config() - simple OpenSSL configuration functions
OPENSSL_load_builtin_modules() - add standard configuration modules
OPENSSL_VERSION_NUMBER() - get OpenSSL version number
PEM() - PEM routines
PKCS12_create() - create a PKCS#12 structure
PKCS12_parse() - parse a PKCS#12 structure
PKCS7_decrypt() - decrypt content from a PKCS#7 envelopedData structure
PKCS7_encrypt() - create a PKCS#7 envelopedData structure
PKCS7_sign() - create a PKCS#7 signedData structure
PKCS7_verify() - verify a PKCS#7 signedData structure
rand() - pseudo-random number generator
RAND_add() - add entropy to the PRNG
RAND_bytes() - generate random data
RAND_cleanup() - erase the PRNG state
RAND_egd() - query entropy gathering daemon
RAND_load_file() - PRNG seed file
RAND_set_rand_method() - select RAND method
RC4_set_key() - RC4 encryption
RIPEMD160() - RIPEMD-160 hash function
rsa() - RSA public key cryptosystem
RSA_blinding_on() - protect the RSA operation from timing attacks
RSA_check_key() - validate private RSA keys
RSA_generate_key() - generate RSA key pair
RSA_get_ex_new_index() - add application specific data to RSA structures
RSA_new() - allocate and free RSA objects
RSA_padding_add_PKCS1_type_1() - asymmetric encryption padding
RSA_print() - print cryptographic parameters
RSA_private_encrypt() - low level signature operations
RSA_public_encrypt() - RSA public key cryptography
RSA_set_default_method() - select RSA method
RSA_sign() - RSA signatures
RSA_sign_ASN1_OCTET_STRING() - RSA signatures
RSA_size() - get RSA modulus size
SHA1() - Secure Hash Algorithm
SMIME_read_PKCS7() - parse S/MIME message.
SMIME_write_PKCS7() - convert PKCS#7 structure to S/MIME format.
CRYPTO_set_locking_callback() - OpenSSL thread support
UI_new() - New User Interface
des_read_password() - Compatibility user interface functions
X509_NAME_add_entry_by_txt() - X509_NAME modification functions
X509_NAME_ENTRY_get_object() - X509_NAME_ENTRY utility functions
X509_NAME_get_index_by_NID() - X509_NAME lookup and enumeration functions
X509_NAME_print_ex() - X509_NAME printing routines.
X509_new() - X509 certificate ASN1 allocation functions