I have made such an engine and a driver some time ago. The approach
depends on the special details of your hardware.
In my case, I made a linux char driver that "talked" with the encryption
hardware, and an openssl-engine
that used this driver through the read/write system calls.
Additionally, I have started implementing a pseudo device in software,
so as to provide a framework
on how to build this driver-engine combination. Michael Ludvig and
Frederic Donnat from this list have been
very helpful. I 'll try to find some free time and clean up the code,
fix the bugs, document and finally publish it.
You could start looking at existing engine implementations at
/openssl/crypto/engine/, to get some idea how the
whole thing works.
There is another aspect, to use the kernel's crypto api. I don't know
much about it, but Michael could possibly
help you. He also has a relative web page

http://www.logix.cz/michal/devel/padlock/

Hope to have helped you.
__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org