On 08/10/2012 03:41 PM, Douglas E. Engert wrote:
> Not much to go on below.
Sorry. I will provide more information below.
> Is there a core file produced?
No.
> Can you get a stack trace?
> Can the fips version be complied with debugging?
> Can you run this under a debugger?
Three times yes. Here is the stacktrace from gdb:
Program received signal SIGSEGV, Segmentation fault.
0x00000001 in ?? ()
(gdb) bt
#0 0x00000001 in ?? ()
#1 0x0822ff8a in ASN1_item_sign_ctx (it=0x829e674, algor1=0xb03aeff8,
algor2=0xb02fcff8,
signature=0xb0306ff0, asn=0xb05ccfcc, ctx=0xbfffe074) at a_sign.c:257
#2 0x081c77d9 in X509_sign_ctx (x=0xb04dbf98, ctx=0xbfffe074) at
x_all.c:100
#3 0x080a2caa in do_X509_sign (err=0xb7d28fc0, x=0xb04dbf98,
pkey=0xb0cbafe0, md=0x8302840,
sigopts=0x0) at req.c:1802
#4 0x080ae993 in do_body (xret=0xbfffe62c, pkey=0xb0cbafe0,
x509=0xb0b02f98, dgst=0x8302840,
sigopts=0x0, policy=0xb27e7fec, db=0xb05f2ff8, serial=0xb0600fec,
subj=0xbffff0cb "/C=AT/CN=Test", chtype=4097, multirdn=0, email_dn=1,
startdate=0x825f5f6 "today", enddate=0x0, days=30, batch=1,
verbose=0, req=0xb062aff0,
ext_sect=0xb2563ff0 "usr_cert", lconf=0xb29f6ff0, certopt=0,
nameopt=0, default_op=1,
ext_copy=1, selfsign=0) at ca.c:2172
#5 0x080ad712 in certify (xret=0xbfffe62c, infile=0xbffff04c
"/home/ad60095910/tmp/testcsr",
pkey=0xb0cbafe0, x509=0xb0b02f98, dgst=0x8302840, sigopts=0x0,
policy=0xb27e7fec,
db=0xb05f2ff8, serial=0xb0600fec, subj=0xbffff0cb "/C=AT/CN=Test",
chtype=4097, multirdn=0,
email_dn=1, startdate=0x825f5f6 "today", enddate=0x0, days=30, batch=1,
ext_sect=0xb2563ff0 "usr_cert", lconf=0xb29f6ff0, verbose=0,
certopt=0, nameopt=0,
default_op=1, ext_copy=1, selfsign=0) at ca.c:1633
#6 0x080ac2cc in ca_main (argc=0, argv=0xbfffed98) at ca.c:1233
#7 0x0809c815 in do_cmd (prog=0xb36a9fa0, argc=20, argv=0xbfffed48) at
openssl.c:489
#8 0x0809c436 in main (Argc=20, Argv=0xbfffed48) at openssl.c:381
(gdb)
>
> If not, can you turn on the debugging in opensc.conf
> (Note: PINS and other sensitive data are traced)
I tried that, but no debug file was produced. I set "debug=99" and
"debug_file = /tmp/opensc-debug.log;"
> Or run it with opensc pkcs11-spy to get PKCS#11 trac
I don't know about pkcs11-spy, but I assume that it is a pkcs#11 tracer.
I already did create a log with the debug facility of the eToken driver
(reading and exporting it with Safenet's proprietary log viewer). Here
is the final part of the log:
0xb7e276c0 16:16:59.271 C_GetAttributeValue [4] ( pTemplate={
CKA_SENSITIVE=1 } )
0xb7e276c0 16:16:59.271 + C_GetAttributeValue( hSession=0x08730004
hObject=0x08ec0008 pTemplate={ CKA_EXTRACTABLE=1 } )
0xb7e276c0 16:16:59.274 C_GetAttributeValue [3] ( pTemplate={
CKA_EXTRACTABLE=0 } )
0xb7e276c0 16:16:59.274 + C_GetAttributeValue( hSession=0x08730004
hObject=0x08ec0008 pTemplate={ CKA_MODULUS=524 } )
0xb7e276c0 16:16:59.281 C_GetAttributeValue [7] ( pTemplate={
CKA_MODULUS=[256](9d f5 ef 5c b8 1d 15 cb 01 e7 bf ab fc 89 d0 52 cc 94
c2 6d dc 60 d9 b5 c8 12 06 a1 eb eb 4b 0d 92 76 f0 25 a5 96 44 cf 51 92
28 b4 fe 81 79 b4 e9 6a cc c4 87 73 1a 5e 32 f1 5c e4 1f e8 c2 78 25 fa
9a 88 ab 3f dd e9 78 e8 1a f6 5a 16 fa 29 05 e5 a3 1d 13 37 86 71 09 11
fa 5d 5c 1c b9 83 65 8c 83 5c b9 3e cc 01 4a de 8b db fb a2 ad 3c 56 0b
d5 16 d9 ca 88 b9 7f 4c df 3b f7 9a 7a 52 b1 74 79 c0 62 14 3c 64 30 f8
db c1 1d 33 ac 67 91 5f 63 ca 79 75 4d 48 76 b1 95 f7 7b f1 22 b3 8d f1
ca 9b 74 43 06 a6 70 4d 2f 1c 55 26 a2 fc 29 f1 0f 7e 3b e6 c6 53 30 1c
a4 21 10 3b dc 21 9e 1e df 78 35 d2 e4 48 e2 86 79 59 d0 85 e7 60 0e 3e
49 8e fc c1 9b 59 29 3d 0c ab 42 d9 a0 db ca 7b cf 26 ba 7c 63 31 42 ee
5a 49 28 7e f3 71 a4 e0 11 87 b5 7d 32 dd b0 bb b1 c4 63 cf d1 77) } )
0xb7e276c0 16:16:59.281 + C_GetAttributeValue( hSession=0x08730004
hObject=0x08ec0008 pTemplate={ CKA_PUBLIC_EXPONENT=524 } )
0xb7e276c0 16:16:59.286 C_GetAttributeValue [5] ( pTemplate={
CKA_PUBLIC_EXPONENT=[3](01 00 01) } )
0xb7e276c0 16:16:59.286 <stop
Z:\home\ad60095910\tmp\etokenLog.fipsabsturz-20120808\Aug 10
[08-41]\openssl D502517D9 P24552 T-1209895232.trc>
0xb37ffb70 16:16:59.559 - IFDHTransmitToICC( Lun=0x00000000
TxLength=0x00000005 *RxLength=0x00000140 )
0xb37ffb70 16:16:59.559 TxBuffer(Send)=: TxBuffer=[5](00 a4 00
00 00)
0xb37ffb70 16:16:59.559 + eTSC_TransmitApdu( context=0xb6da2714
request=0xb37df364 requestLen=5 reply=0xb37ef370 replyLen=0xb37df19a )
0xb37ffb70 16:16:59.584 eTSC_TransmitApdu [25] ( )
0xb37ffb70 16:16:59.584 IFDHTransmitToICC [25] ( )
0xb37ffb70 16:17:07.653 - IFDHGetCapabilities( Lun=0x00000000
Tag=0x00000fb2 )
0xb37ffb70 16:17:07.653 Unknown Tag:
0xb37ffb70 16:17:07.653 rv=00000266 IFDHGetCapabilities [0] ( )
I sent this trace to the Safenet support as well, they meant that it
didn't look peculiar to them.
I hope these informations help.
cheers
Mathias
>
> On 8/10/2012 3:33 AM, Mathias Tausig wrote:
>> Hello!
>>
>> Has anybody been able to use engine_pkcs11 with the recently released
>> FIPS approved version of openssl? I failed to do so.
>>
>> I was trying to sign a certificate with a FIPS enabled build of openssl
>> (1.0.1c, FIPS object module 2.0) and the PKCS#11 engine (using a Safenet
>> eToken). Opensc and engine_pkcs11 are the most recent versions (0.12.2
>> and 0.1.8)
>>
>> I did this procedure before (with the non-fips version) using an openssl
>> config file:
>>
>> openssl_conf = openssl_def
>> [openssl_def]
>> engines = engine_section
>> [engine_section]
>> pkcs11 = pkcs11_section
>> [pkcs11_section]
>> engine_id = pkcs11
>> dynamic_path = /usr/lib/engines/engine_pkcs11.so
>> MODULE_PATH = libeTPkcs11.so
>> PIN = topsecret
>> VERBOSE = EMPTY
>> init = 0
>> [ca]
>> ...
>>
>> and the command
>> openssl ca -engine pkcs11 -in /tmp/testcsr -keyfile 2:74 -keyform
>> engine -out /tmp/cert -batch -config /tmp/testConf -md sha1 -subj
>> "/C=AT/CN=Test" -days 30
>>
>> This worked like charm, but with the fips-build (engine_pkcs11 and the
>> PKCS#11 client library are the same), I get a segmentation fault:
>>
>> Using configuration from /tmp/testConf
>> initializing engine
>> engine "pkcs11" set.
>> Looking in slot 2 for key: 74
>> Found 6 slots
>> [0] Cherry SmartBoard XX44 00 no tok
>> [1] AKS ifdh 00 00 login (eToken)
>> [2] AKS ifdh 01 00 login (INTERN)
>> [3] no tok
>> [4] no tok
>> [5] no tok
>> Found slot: AKS ifdh 01 00
>> Found token: INTERN
>> Found 2 certificates:
>> 1 INTERN (/C=AT/CN=INTERN/[email protected])
>> 2 INTERN SUB (/C=AT/CN=INTERN SUB/[email protected])
>> Found 2 keys:
>> 1 P INTERN
>> 2 P INTERN SUB
>> Check that the request matches the signature
>> Signature ok
>> The Subject's Distinguished Name is as follows
>> countryName :PRINTABLE:'AT'
>> commonName :PRINTABLE:'Test'
>> Certificate is to be certified until Aug 10 10:17:22 2012 GMT (30 days)
>> Segmentation fault
>>
>> All this is happening with the FIPS-capable build but without actually
>> enabling FIPS-mode.
>>
>> I am quite lost here. Any ideas?
>>
>> cheers
>> Mathias
>> _______________________________________________
>> opensc-devel mailing list
>> [email protected]
>> http://www.opensc-project.org/mailman/listinfo/opensc-devel
>>
>>
>
_______________________________________________
opensc-devel mailing list
[email protected]
http://www.opensc-project.org/mailman/listinfo/opensc-devel