Hi John,

> I have a question around the area of the Hardware device support that is
> used by the various Engines in OpenSSL.  In the 0.9.8.a tree there are
> files for engines like Attala, uBSec, CryptoSwift etc.  This is the area
> in OpenSSL is what I am currently interested in understanding.
>
> I see where the "Binding" via DSO is taking place to, (I am guessing ) -
> loadable libraries that then interface via system calls to actual
> hardware drivers.

Yes the only "openssl code" involved is the logic to shim between the
openssl-native interfaces (and semantics) and the APIs exposed by the
hardware-specific SDKs. We don't package those SDKs, and only include the
engine implementations in openssl if we've been given permission to also
ship a header with the necessary subset of declarations from the SDK (BTW
it's now possible for a vendor to provide their own engine as a
shared-library if they don't even want to expose any APIs to openssl or
its users). Ie. you should be able to build and load openssl on platforms
without any hardware or hardware-supporting SDKs, obviously, but you will
definitely need the SDK's libraries, the hardware drivers, *and* the
hardware to do anything useful - and all those things are (presumably)
provided by the vendor when you buy the hardware and also (presumably)
closed-source.

> This is where I can really use your assistance.  I am looking for
> pointers, or support sites where I can find open source code, SDK's  or
> sample code for accessing the hardware devices that exist in OpenSSL.  I
> understand why these code packages would not be a part of OpenSSL but I
> am at a loss at to where to find them.

As I mentioned, the only stuff we have are some openssl-specific shims and
some minimal copy-n-pasted header declarations from the vendor SDKs. You'd
need to go to the vendors themselves to get anything else.

However if you dig around the net, you may find open-source drivers and/or
libs for various bits of hardware - eg. OpenBSD, linux's cryptoapi, etc.
Whether those things contain code submitted by vendors or "use at your own
risk" open source approximations is another matter. Also, you may find
that kernel support code for various hardware devices may be confined to a
particular subset of functionality, eg. symmetric-ciphers only, certain
algorithms/modes only, no non-blocking functionality, etc. Good luck.

Cheers,
Geoff

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to