ENGINE | |
====== | |
With OpenSSL 0.9.6, a new component has been added to support external | |
crypto devices, for example accelerator cards. The component is called | |
ENGINE, and has still a pretty experimental status and almost no | |
documentation. It's designed to be faily easily extensible by the | |
calling programs. | |
There's currently built-in support for the following crypto devices: | |
o CryptoSwift | |
o Compaq Atalla | |
o nCipher CHIL | |
A number of things are still needed and are being worked on: | |
o An openssl utility command to handle or at least check available | |
engines. | |
o A better way of handling the methods that are handled by the | |
engines. | |
o Documentation! | |
What already exists is fairly stable as far as it has been tested, but | |
the test base has been a bit small most of the time. | |
Because of this experimental status and what's lacking, the ENGINE | |
component is not yet part of the default OpenSSL distribution. However, | |
we have made a separate kit for those who want to try this out, to be | |
found in the same places as the default OpenSSL distribution, but with | |
"-engine-" being part of the kit file name. For example, version 0.9.6 | |
is distributed in the following two files: | |
openssl-0.9.6.tar.gz | |
openssl-engine-0.9.6.tar.gz | |
NOTES | |
===== | |
openssl-engine-0.9.6.tar.gz does not depend on openssl-0.9.6.tar, you do | |
not need to download both. | |
openssl-engine-0.9.6.tar.gz is usable even if you don't have an external | |
crypto device. The internal OpenSSL functions are contained in the | |
engine "openssl", and will be used by default. | |
No external crypto device is chosen unless you say so. You have actively | |
tell the openssl utility commands to use it through a new command line | |
switch called "-engine". And if you want to use the ENGINE library to | |
do something similar, you must also explicitely choose an external crypto | |
device, or the built-in crypto routines will be used, just as in the | |
default OpenSSL distribution. | |
PROBLEMS | |
======== | |
It seems like the ENGINE part doesn't work too well with Cryptoswift on | |
Win32. A quick test done right before the release showed that trying | |
"openssl speed -engine cswift" generated errors. If the DSO gets enabled, | |
an attempt is made to write at memory address 0x00000002. | |