Hi everyone,
I am trying to use OpenSSL's EVP interface with as engine a SafeNet
(formerly Eracom) ProtectServer HSM.
I have received from SafeNet a patched version of OpenSSL 0.9.8d. This
patch is called "ERAC-3.30-openssl-0.9.8d.patch". I am working on Ubuntu
Linux with kernel version 2.6.28-13-generic, and I use SafeNet
ProtectToolkit C version 3.32.00.
I have successfully built the patched OpenSSL library. However when I
try to use the SafeNet engine it seems the actual engine library cannot
be found. Can anyone help?
Here are the steps I have performed:
1) I have stored the patched OpenSSL 0.9.8d source code at
following location:
/home/user/Desktop/openssl-0.9.8d-patched-safenet
2) I have built the patched OpenSSL source code using the
instructions in the readme.txt file that came with the patch. This
worked fine. The result of the build was following directory structure:
/opt/test/bin
c_rehash
openssl
/opt/test/include
/openssl [directory with .h files]
/opt/test/lib
/engines [empty directory]
libcrypto.so
libssl.a
libssl.so.0.9.8
libcrypto.a
libcrypto.so.0.9.8
libssl.so
/pkgconfig [directory with .pc files]
/opt/test/ssl
/certs [empty directory]
/engines [empty directory]
/man
/man1
/man3
/man5
/man7
/misc [directory with some executables]
openssl.cnf
/private [empty directory]
It seems all engine directories are empty, so I don't have an
engine for the ProtectServer HSM. Is this normal?
3) I have generated an RSA key pair on the ProtectServer HSM using
the ctkmu tool:
ctkmu c -s0 -t rsa -n CA -a PTxSV
4) I now try to create a keylink for this file:
/opt/test/bin$ ./openssl genrsa -engine ERACOM -hwkey 0/CA > CA.keylink
However I receive following error (also when executed as root user):
bash: CA.keylink: Permission denied
Then I tried following command:
/opt/test/bin$ ./openssl genrsa -engine ERACOM
And I received following error:
Invalid engine "ERACOM"
12740: error: 25066067: DSO support routines: DLFCN_LOAD: could not load
the shared library: dso_dlfcn.c:16: filename
(/usr/lib/ssl/engines/libERACOM.so): no such file or directory
Thanks,
Frederik