OpenSolaris

Printable Version Enter a New Search
Bug ID 6411001
Synopsis sparcv9 OpenSSL pkcs11 engine fails C_Sign with RSA and DSA
State 10-Fix Delivered (Fix available in build)
Category:Subcategory solaris-crypto:openssl
Keywords rtiq_reviewed
Responsible Engineer Jan Pechanec
Reported Against 5.10
Duplicate Of
Introduced In solaris_10
Commit to Fix snv_45
Fixed In snv_45
Release Fixed solaris_nevada(snv_45) , solaris_10u6(s10u6_05) (Bug ID:2149620)
Related Bugs 6593176 , 6594192
Submit Date 10-April-2006
Last Update Date 2-July-2008
Description
The sparcv9 build of the OpenSSL PKCS#11 ENGINE doesn't work for RSA or DSA.

$ /usr/sfw/bin/sparcv9/openssl speed -engine pkcs11 rsa

Results in a SIGBUS

Loading modules: [ libc.so.1 ld.so.1 ]
> $c
pkcs11_kernel.so.1`C_Sign+0x148(10018ff10, 100188d60, 14, ffffffff7fffcbe8,
ffffffff7fffcc24, 7)
libpkcs11.so.1`meta_do_operation+0x480(100168940, 100, 10018fc40, 0, 100188d60,
14)
libpkcs11.so.1`meta_Sign+0x44(10018fc40, 100188d60, 14, ffffffff7fffcbe8,
ffffffff7fffcc24, 0)
0xffffffff7e412374(0, 100188d60, 14, ffffffff7fffcbe8, ffffffff7fffcc24,
10016ea90)
libcrypto.so.0.9.7`pk11_dsa_do_sign+0x22c(100188d60, 10018fba0, ffffffff7e519530, ffffffff7e412164, 14, 0)
libcrypto.so.0.9.7`DSA_sign+0x10(74, 100188d60, 14, 10018ad80, ffffffff7fffd058
, 10018db50)
speed_main+0x2668(100162, 100165e68, 10018ad80, 100188d60, 1001662e0, 100160b30
)
do_cmd+0x44(100178670, 0, ffffffff7ffff780, 0, 100160b08, 10003d398)
main+0x2b8(10004e000, ffffffff7ffff778, 100178670, 100182b30, 5,
ffffffff7ffff680)
_start+0x17c(0, 0, 0, 0, 0, 0)

Just to show that this isn't a pkcs11_kernel probelm:

Loading modules: [ libc.so.1 ld.so.1 ]
> $c
pkcs11_softtoken.so.1`soft_rsa_sign_common+0xa0(100190130, 100188d60, 24,
10018ad80, ffffffff7fffd05c, 1)
pkcs11_softtoken.so.1`C_Sign+0x140(100190130, 100188d60, 24, 10018ad80,
ffffffff7fffd05c, 100190130)
libpkcs11.so.1`meta_do_operation+0x480(100170780, 100, 10018fc40, 0, 100188d60,
24)
libpkcs11.so.1`meta_Sign+0x44(10018fc40, 100188d60, 24, 10018ad80,
ffffffff7fffd05c, 0)
0xffffffff7e412374(0, 100188d60, 24, 10018ad80, ffffffff7fffd05c, 10016ea90)
libcrypto.so.0.9.7`pk11_RSA_sign+0x2d0(10018fba0, 100188d60, ffffffff7e412164,
10018ad80, ffffffff7e4122b0, ffffffff7e519530)
speed_main+0x2160(ffffffff7ffff098, 100165e98, 10018ad80, 100188d60, 1001662e0,
100160b30)
do_cmd+0x44(100178670, 0, ffffffff7ffff780, 0, 100160b08, 10003d398)
main+0x2b8(10004e000, ffffffff7ffff778, 100178670, 100182b30, 5,
ffffffff7ffff680)
_start+0x17c(0, 0, 0, 0, 0, 0)


It also doesn't happen on AMD64 running in 64bit mode, so it appears to be sparcv9
specific.
it's not sparc specific, the problem is 64-bit in general. See evaluation for more info.

root:supercharger:amd64:/tmp# isalist
amd64 pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
root:supercharger:amd64:/tmp# /usr/sfw/bin/amd64/openssl speed -engine pkcs11 dsa
engine "pkcs11" set.
Segmentation Fault (core dumped)
Work Around
N/A
Comments
N/A