19992009 Ericsson AB. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Crypto Release Notes Peter Högfeldt 2003-06-06 B notes.xml

This document describes the changes made to the Crypto application.

Crypto 1.6.3
Fixed Bugs and Malfunctions

Suppressed false valgrind errors caused by libcrypto using uninitialized data as entropy.

Own Id: OTP-8200

Improvements and New Features

The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.

Own Id: OTP-8201

When the crypto application failed to load the OpenSSL/LibEAY shared object, error indication was sparse. Now a more specific error message is sent to the error logger.

Own Id: OTP-8281

Crypto 1.6.2
Fixed Bugs and Malfunctions

Fixed emulator crash caused by crypto using an old openssl version that did not cope with large file descriptors.

Own Id: OTP-8261 Aux Id: seq11434

Crypto 1.6.1
Fixed Bugs and Malfunctions

Makefile.in has been updated to use the LDFLAGS environment variable (if set). (Thanks to Davide Pesavento.)

Own Id: OTP-8157

Improvements and New Features

Support for Blowfish cfb64 added to crypto.

Own Id: OTP-8096

New function crypto:aes_cbc_ivec

Own Id: OTP-8141

Crypto 1.6
Fixed Bugs and Malfunctions

The dh_compute_key sometimes returned a SharedSecret of incorrect size.

Own Id: OTP-7674

Improvements and New Features

Optimization for drivers by creating small binaries direct on process heap.

Own Id: OTP-7762

Crypto 1.5.3
Improvements and New Features

Added new functions: dss_verify/3, rsa_verify/3, rsa_verify/4, dss_sign/2, rsa_sign/2, rsa_sign/3, rsa_public_encrypt, rsa_private_decrypt/3, rsa_private_encrypt/3, rsa_public_decrypt/3, dh_generate_key/1, dh_generate_key/2, dh_compute_key/3.

Own Id: OTP-7545

Crypto 1.5.2.1
Improvements and New Features

Minor performance optimization.

Own Id: OTP-7521

Crypto 1.5.2
Fixed Bugs and Malfunctions

./configure has been improved to find 64-bit OpenSSL libraries.

Own Id: OTP-7270

Improvements and New Features

crypto and zlib drivers improved to allow concurent smp access.

Own Id: OTP-7262

Crypto 1.5.1.1
Improvements and New Features

The linked in driver for the crypto application is now linked statically against the OpenSSL libraries, to avoid installation and runtime problems in connection to the OpenSSL library locations.

Own Id: OTP-6680

Minor Makefile changes.

Own Id: OTP-6689

Crypto 1.5
Improvements and New Features

It is now explicitly checked at start-up that the crypto driver is properly loaded (Thanks to Claes Wikstrom).

Own Id: OTP-6109

Crypto 1.4
Improvements and New Features

The previously undocumented and UNSUPPORTED ssh application has been updated and documented. This release of the ssh application is still considered to be a beta release and (if necessary) there could still be changes in its API before it reaches 1.0.

Also, more cryptographic algorithms have been added to the crypto application.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-5631

Crypto 1.3
Improvements and New Features

Added support for RFC 3826 - The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model.

Martin Björklund

Crypto 1.2.3
Fixed Bugs and Malfunctions

Linked in drivers in the crypto, and asn1 applications are now compiled with the -D_THREAD_SAFE and -D_REENTRANT switches on unix when the emulator has thread support enabled.

Linked in drivers on MacOSX are not compiled with the undocumented -lbundle1.o switch anymore. Thanks to Sean Hinde who sent us a patch.

Linked in driver in crypto, and port programs in ssl, now compiles on OSF1.

Minor makefile improvements in runtime_tools.

Own Id: OTP-5346

Crypto 1.2.2
Improvements and New Features

Corrected error handling. If the port to the driver that crypto uses is unexpectedly closed (which should not happen during normal operation of crypto), crypto will terminate immediately (rather than crashing the next time crypto is used). Also corrected build problems on Mac OS X.

Own Id: OTP-5279

Crypto 1.2.1
Fixed Bugs and Malfunctions

It was not possible in R9 to relink the crypto driver. The object file was missing as well as an example makefile. The crypto driver object file is now released with the application (installed in priv/obj). An example makefile has also been added to the priv/obj directory. The makefile serves as an example of how to relink the driver on Unix (crypto_drv.so) or Windows (crypto_drv.dll).

Own Id: OTP-4828 Aux Id: seq8193

Crypto 1.2
Improvements and New Features

Previous versions of Crypto where delivered with statically linked binaries based on SSLeay. That is not longer the case. The current version of Crypto requires dynamically linked OpenSSL libraries that the user has to install. The library needed is libcrypto.so (Unix) or libeay32.[lib|dll] (Win32). For further details see the crypto(6) application manual page.

This version of Crypto uses the new DES interface of OpenSSL 0.9.7, which is not backward compatible with earlier versions of OpenSSL.

The functions des_ede3_cbc_encrypt/5 and des_ede3_cbc_decrypt/5 have been renamed to des3_cbc_encrypt/5 and des3_cbc_decrypt/5, respectively. The old functions have been retained (they are deprecated and not listed in the crypto(3) manual page).
Reported Fixed Bugs and Malfunctions

The start of crypto failed on Windows, due to erroneous addition of a DES3 algorithm.

Own Id: OTP-4684

Aux Id: seq7864

Crypto 1.1.3
Reported Fixed Bugs and Malfunctions To obtain backward compatibility with the old SSLeay package, and with earlier versions of OpenSSL, the macro OPENSSL_DES_LIBDES_COMPATIBILITY has been added to crypto_drv.c. This is of importance only for the open source version of Crypto.
Crypto 1.1.2
Reported Fixed Bugs and Malfunctions

In the manual page crypto(3) the function names md5_finish and sha_finish have been changed to md5_final and sha_final to correctly document the implementation.

Own Id: OTP-3409

Crypto 1.1.1

Code replacement in runtime is supported. Upgrade can be done from from version 1.1 and downgrade to version 1.1.

Improvements and New Features

The driver part of the Crypto application has been updated to use the erl_driver header file. Version 1.1.1 requires emulator version 4.9.1 or later.

Crypto 1.1
Reported Fixed Bugs and Malfunctions

On Windows the crypto_drv was incorrectly linked to static run-time libraries instead of dynamic ones.

Own Id: OTP-3240

Crypto 1.0

New application.