El dom, 09-01-2005 a las 10:00 +0200, Vladimir Beker escribiÃ:
> It depends on what exactly you need to do. Since eToken
> Pro is actually smartcard (like most of USB tokens in the
> world, I guess) there is no such thing to get the whole
> information from it: it is impossible to get keys from the
> card.
> I guess that you have eToken Pro prepared to work with some
> software and want to get access to relevant objects.
> If you have eToken prepared with some PKCS#11-library - use
> the same library to get objects. If it is spoken about opensc
> - I guess it is PKCS#15 compliant, so you may try to parse it
> by yourself. If it is prepared with PKCS#11 module provided by
> Aladdin itself - it uses proprietary format.
Vladimir.
Thanks for your reply.
Following your advices and the David and Andreas advices, I formatted
the eToken with the eToken utilitary for Windows and finally installed
opensc and openct programs with no troubles.
Following the opensc's QUICKSTART , I've executed successfully the
commands:
# pkcs15-init --create-pkcs15
# pkcs15-init --store-pin --auth-id 01 --label "Rodrigo Henriquez"
# pkcs15-init --generate-key rsa/1024 --auth-id 01
No troubles at this point. The problem begins, when I tried to create
the RSA key:
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/opensc/engine_pkcs11.so -
pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/opensc/engine_pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
Loaded: (pkcs11) pkcs11 engine
OpenSSL> req -engine pkcs11 -new -key id_45 -keyform engine -out req.pem
-text -x509
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
engine "pkcs11" set.
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
Debug: connect() failed: No such file or directory
SmartCard PIN:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a
DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:CL
State or Province Name (full name) [Berkshire]:Santiago
Locality Name (eg, city) [Newbury]:Santiago
Organization Name (eg, company) [My Company Ltd]:Corp. Linux S.A.
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:[EMAIL PROTECTED]
Segmentation fault
^^^^^^^^^^^^^^^^^^
I did a "strace openssl" and executed the same commands, but I didn't
find nothing relevant:
write(2, "You are about to be asked to ent"..., 73You are about to be
asked to enter information that will be incorporated
) = 73
write(2, "into your certificate request.\n", 31into your certificate
request.
) = 31
write(2, "What you are about to enter is w"..., 76What you are about to
enter is what is called a Distinguished Name or a DN.
) = 76
write(2, "There are quite a few fields but"..., 58There are quite a few
fields but you can leave some blank
) = 58
write(2, "For some fields there will be a "..., 47For some fields there
will be a default value,
) = 47
write(2, "If you enter \'.\', the field will"..., 48If you enter '.',
the field will be left blank.
) = 48
write(2, "-----\n", 6-----
) = 6
write(2, "Country Name (2 letter code) [GB"..., 34Country Name (2 letter
code) [GB]:) = 34
read(0, CL
"CL\n", 1024) = 3
write(2, "State or Province Name (full nam"..., 47State or Province Name
(full name) [Berkshire]:) = 47
read(0, Santiago
"Santiago\n", 1024) = 9
write(2, "Locality Name (eg, city) [Newbur"..., 35Locality Name (eg,
city) [Newbury]:) = 35
read(0, Santiago
"Santiago\n", 1024) = 9
write(2, "Organization Name (eg, company) "..., 49Organization Name (eg,
company) [My Company Ltd]:) = 49
read(0, Corp. Linux S.A.
"Corp. Linux S.A.\n", 1024) = 17
write(2, "Organizational Unit Name (eg, se"..., 42Organizational Unit
Name (eg, section) []:) = 42
read(0, Ingenieria
"Ingenieria\n", 1024) = 11
write(2, "Common Name (eg, your name or yo"..., 57Common Name (eg, your
name or your server's hostname) []:) = 57
read(0, corporacionlinux.cl
"corporacionlinux.cl\n", 1024) = 20
write(2, "Email Address []:", 17Email Address []:) = 17
read(0, [EMAIL PROTECTED]
"[EMAIL PROTECTED]", 1024) = 22
time([1105294788]) = 1105294788
open("/etc/localtime", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=890, ...}) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=890, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xf6f56000
read(4, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0"...,
4096) = 890
close(4) = 0
munmap(0xf6f56000, 4096) = 0
time([1105294788]) = 1105294788
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
After that, I executed a gdb to see what happening but it just says
this:
[EMAIL PROTECTED] rhenriqu]# gdb -c core.11531
GNU gdb Red Hat Linux (6.1post-1.20040607.43rh)
This GDB was configured as "i386-redhat-linux-gnu".
Core was generated by `openssl'.
Program terminated with signal 11, Segmentation fault.
#0 0x419ff569 in ?? ()
I was googlizing but I didn't find anything useful or relevant.
FYI I'm using FC3, openct-0.6.2, opensc-0.9.4 and openssl-0.9.7a-40.
opensc and openct were compiled on this way:
openct:
# ./configure --prefix=/usr --sysconfdir=/etc
OpenCT has been configured with the following options
User binaries: ${exec_prefix}/bin
Configuration files: /etc
Host: i686-pc-linux-gnu
Compiler: gcc
Compiler flags: -Wall -g -O2
Preprocessor flags: -I${top_builddir}/src/include -I
${top_srcdir}/src/include
Linker flags:
Libraries: -lpthread
PC/SC support: no
Libusb used: yes
After do all the steps, I have:
[EMAIL PROTECTED] openct-20050108]# ps -fea | grep ifd
root 5538 1 0 11:03 ? 00:00:00 /usr/sbin/ifdhandler -H
etoken /proc/bus/usb/003/005
[EMAIL PROTECTED] openct-20050108]# openct-control status
No. Name Info
===================================================
0 Aladdin eToken PRO slot0: card present
[EMAIL PROTECTED] ~]# openct-tool -r 0 atr
Detected Aladdin eToken PRO
Card present, status changed
ATR: 3b e2 00 ff c1 10 31 fe 55 c8 02 9c
opensc:
[EMAIL PROTECTED] opensc]# ./configure --prefix=/usr --
sysconfdir=/etc
OpenSC has been configured with the following options
User binaries: /usr/bin
Configuration files: /etc
Host: i686-pc-linux-gnu
Compiler: gcc
Compiler flags: -Wall -fno-strict-aliasing -g -O2
Preprocessor flags: -I${top_builddir}/src/include
Linker flags:
Libraries: -lpthread
Random number collection: device (/dev/urandom)
OpenSSL support: yes
with engine: yes
with sslhack: yes
PC/SC support: no
OpenCT support: yes
Assuan support: no
LDAP support: yes
PAM support: yes
[EMAIL PROTECTED] ~]# opensc-tool --list-readers
Readers known about:
Nr. Driver Name
0 openct Aladdin eToken PRO
1 openct OpenCT reader (detached)
2 openct OpenCT reader (detached)
3 openct OpenCT reader (detached)
4 openct OpenCT reader (detached)
My card is:
[EMAIL PROTECTED] tests]# cardos-info
Info : CardOS/M4.0 (C) Siemens AG 1994-1999 (Feb 15 2000)
Chip type: 20
Serial number: 13 bb 97 0f 1e 08
Full prom dump:
33 FF EB 31 FF FF FF FF 14 65 13 BB 97 0F 1E 08 3..1.....e......
00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
OS Version: 200.2 (that's CardOS M4.0)
Current life cycle: 32 (administration)
Security Status of current DF:
Free memory : 1024
ATR Status: 0x0 ROM-ATR
Packages installed:
01 04 01 01 C8 02 01 04 08 01 C8 02 01 04 03 01 ................
C8 02 01 04 0B 01 C8 02 01 04 07 03 C8 02 ..............
Ram size: 1024, Eeprom size: 16384, cpu type: 66, chip config: 61
Free eeprom memory: 5635
System keys: PackageLoadKey (version 1, retries 10)
System keys: StartKey (version 1, retries 10)
Path to current DF:
Any clues?
Thank you so much for your time and patience.
Regards.
--
Rodrigo Henriquez M. http://www.corporacionlinux.cl
Corporacion Linux S.A. Fonos: 02 2442988 - 02 2444250
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle