Пытаемся использовать Trusted Java 2.0 в связке с КриптоПро через PHP Java Bridge, задеплоеном на Томкате 6.0.
При попытки проверки ЭЦП на стороне сервера Томкат сегфолтиться libcapi20.so.3+0x2d463 - CertFindCRLInStore+0x53.
Не совсем уверен, что это ошибка КриптоПро, но так как libcapi20.so входит в поставку КриптоПро приведу стектрейс здесь:
#
# An unexpected error has been detected by Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x37539463, pid=35879, tid=0x282f9280
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0_03-p4-root_11_nov_2011_08_42-b00 mixed mode)
# Problematic frame:
# C [libcapi20.so.3+0x2d463] CertFindCRLInStore+0x53
#
# Please submit bug reports to
freebsd-java@FreeBSD.org#
--------------- T H R E A D ---------------
Current thread (0x36c8ac00): JavaThread "JavaBridgeContextRunner#1" daemon [_thread_in_native, id=674206336]
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000
Registers:
EAX=0x00000000, EBX=0x37603f64, ECX=0x36e5f8c0, EDX=0x36e02100
ESP=0xff5f6460, EBP=0xff5f6498, ESI=0x3727b9b1, EDI=0x00000000
EIP=0x37539463, EFLAGS=0x00010246
Top of Stack: (sp=0xff5f6460)
0xff5f6460: 37285940 280a4600 375092c0 3727b9b1
0xff5f6470: 374e1340 00000014 00000000 00000000
0xff5f6480: 00000000 00000000 36e02100 375092c0
0xff5f6490: 3727b9b1 374e1340 ff5f64e8 37457884
0xff5f64a0: 00000000 00010001 00000000 00000000
0xff5f64b0: 00000000 00000000 375092c0 30d84b04
0xff5f64c0: 36c8ac00 ff5f6508 3727b9b0 36ea30a0
0xff5f64d0: 37285940 00000000 36c8ac00 375092c0
Instructions: (pc=0x37539463)
0x37539453: c7 45 e0 00 00 00 00 8b 45 18 89 45 ec 8b 45 08
0x37539463: 83 38 0b 74 64 89 c6 85 f6 74 66 8d 45 f0 89 45
Stack: [0xff5a7000,0xff5f7000), sp=0xff5f6460, free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libcapi20.so.3+0x2d463] CertFindCRLInStore+0x53
C [libdjcp20.so+0x57884] Java_com_digt_trusted_jce_cert_GOSTCertStore_CPLoadCRLs+0xe4
C [libdjcp20.so+0x57bb2] Java_com_digt_trusted_jce_provider_CAPICertStore_CPLoadCRLs+0x32
j com.digt.trusted.jce.provider.CAPICertStore.CPLoadCRLs(Ljava/lang/String;Ljava/lang/String;)[[B+0
j com.digt.trusted.jce.provider.CAPICertStore.getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Lcom/digt/trusted/jce/provider/CAPICertStore;+239
j com.digt.trusted.jce.provider.CryptoProCSPCertStore.getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Lcom/digt/trusted/jce/provider/CAPICertStore;+11
v ~StubRoutines::call_stub
V [libjvm.so+0x252e0c]
V [libjvm.so+0x3e9929]
V [libjvm.so+0x251f5f]
V [libjvm.so+0x443ea6]
V [libjvm.so+0x446605]
V [libjvm.so+0x2ba2b6]
C [libjava.so+0x16c72] Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x32
j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j php.java.bridge.JavaBridge.Invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;Lphp/java/bridge/Response;)V+430
j php.java.bridge.Request.handleRequest()I+497
j php.java.bridge.Request.handleRequests()V+33
j php.java.bridge.http.ContextRunner.run()V+11
j php.java.bridge.ThreadPool$Delegate.run()V+14
v ~StubRoutines::call_stub
V [libjvm.so+0x252e0c]
V [libjvm.so+0x3e9929]
V [libjvm.so+0x251f5f]
V [libjvm.so+0x252065]
V [libjvm.so+0x25287a]
V [libjvm.so+0x2aa276]
V [libjvm.so+0x4b63a1]
V [libjvm.so+0x4b646e]
V [libjvm.so+0x3ee266]
C [libthr.so.3+0x675f] pthread_getprio+0x1bf
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.digt.trusted.jce.provider.CAPICertStore.CPLoadCRLs(Ljava/lang/String;Ljava/lang/String;)[[B+0
j com.digt.trusted.jce.provider.CAPICertStore.getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Lcom/digt/trusted/jce/provider/CAPICertStore;+239
j com.digt.trusted.jce.provider.CryptoProCSPCertStore.getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Lcom/digt/trusted/jce/provider/CAPICertStore;+11
v ~StubRoutines::call_stub
j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j php.java.bridge.JavaBridge.Invoke(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;Lphp/java/bridge/Response;)V+430
j php.java.bridge.Request.handleRequest()I+497
j php.java.bridge.Request.handleRequests()V+33
j php.java.bridge.http.ContextRunner.run()V+11
j php.java.bridge.ThreadPool$Delegate.run()V+14
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
=>0x36c8ac00 JavaThread "JavaBridgeContextRunner#1" daemon [_thread_in_native, id=674206336]
0x360cf400 JavaThread "JavaBridgeSessionTimer" daemon [_thread_blocked, id=884444864]
0x360cf800 JavaThread "JavaBridgeSocketContextServer(9267)" daemon [_thread_in_native, id=884444544]
0x3558b400 JavaThread "http-127.0.0.1-8180-1" daemon [_thread_blocked, id=881917632]
0x29139400 JavaThread "TP-Monitor" daemon [_thread_blocked, id=687989248]
0x29139800 JavaThread "TP-Processor4" daemon [_thread_in_native, id=687989568]
0x2913a000 JavaThread "TP-Processor3" daemon [_thread_blocked, id=687989888]
0x2913a400 JavaThread "TP-Processor2" daemon [_thread_blocked, id=687992128]
0x2913ac00 JavaThread "TP-Processor1" daemon [_thread_blocked, id=687990208]
0x2913b000 JavaThread "http-127.0.0.1-8180-Acceptor-0" daemon [_thread_in_native, id=687991488]
0x2913b800 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=687990528]
0x35b16400 JavaThread "process reaper" daemon [_thread_in_native, id=895225216]
0x2913bc00 JavaThread "JavaBridgeFastCGIRunner" daemon [_thread_in_native, id=687991168]
0x2913d000 JavaThread "GC Daemon" daemon [_thread_blocked, id=687992448]
0x2913ec00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=687993728]
0x2913f400 JavaThread "CompilerThread1" daemon [_thread_blocked, id=687994048]
0x2913f800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=687994368]
0x29140000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=687994688]
0x29140400 JavaThread "Finalizer" daemon [_thread_blocked, id=687995008]
0x29140c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=687995328]
0x29141c00 JavaThread "main" [_thread_in_native, id=673374848]
Other Threads:
0x290f0400 VMThread [id=687995648]
0x290f0000 WatcherThread [id=687993408]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
def new generation total 960K, used 862K [0x2c200000, 0x2c300000, 0x2c910000)
eden space 896K, 89% used [0x2c200000, 0x2c2c79d0, 0x2c2e0000)
from space 64K, 100% used [0x2c2e0000, 0x2c2f0000, 0x2c2f0000)
to space 64K, 0% used [0x2c2f0000, 0x2c2f0000, 0x2c300000)
tenured generation total 5920K, used 4474K [0x2c910000, 0x2ced8000, 0x30200000)
the space 5920K, 75% used [0x2c910000, 0x2cd6eae0, 0x2cd6ec00, 0x2ced8000)
compacting perm gen total 16384K, used 11799K [0x30200000, 0x31200000, 0x34200000)
the space 16384K, 72% used [0x30200000, 0x30d85fb8, 0x30d86000, 0x31200000)
No shared spaces configured.
Dynamic libraries:
0x08048000 /usr/local/jdk1.6.0/bin/java
0x280a6000 /usr/lib32/libthr.so.3
0x280bb000 /usr/lib32/libc.so.7
0x28400000 /usr/local/jdk1.6.0/jre/lib/i386/server/libjvm.so
0x28d97000 /usr/lib32/libstdc++.so.6
0x281d6000 /usr/lib32/libm.so.5
0x281ef000 /usr/lib32/libgcc_s.so.1
0x28e8a000 /usr/local/jdk1.6.0/jre/lib/i386/native_threads/libhpi.so
0x28e9c000 /usr/local/jdk1.6.0/jre/lib/i386/libverify.so
0x28ea9000 /usr/local/jdk1.6.0/jre/lib/i386/libjava.so
0x28ed0000 /usr/local/jdk1.6.0/jre/lib/i386/libzip.so
0x28ed9000 /usr/lib32/libz.so.5
0x343e7000 /usr/local/jdk1.6.0/jre/lib/i386/libmanagement.so
0x34c97000 /usr/local/jdk1.6.0/jre/lib/i386/libnet.so
0x34cac000 /usr/local/jdk1.6.0/jre/lib/i386/libcmm.so
0x34d21000 /usr/local/jdk1.6.0/jre/lib/i386/libjpeg.so
0x37400000 /opt/DIGT/Trusted Java 2.0/lib/ia32/libdjcp20.so
0x34d72000 /opt/cprocsp/lib/ia32/libcapi10.so.3
0x3750c000 /opt/cprocsp/lib/ia32/libcapi20.so.3
0x34d85000 /opt/cprocsp/lib/ia32/librdrsup.so.3
0x37606000 /opt/cprocsp/lib/ia32/libcpext.so.3
0x3766b000 /opt/cprocsp/lib/ia32/libasn1data.so.3
0x37bf0000 /opt/cprocsp/lib/ia32/libiconv.so.3
0x34dae000 /usr/local/lib/libcurl.so
0x37ce6000 /usr/lib32/libssl.so.6
0x37d2f000 /usr/lib32/libcrypto.so.6
0x37e8b000 /opt/cprocsp/lib/ia32/libcsp.so
0x34dfc000 /opt/cprocsp/lib/ia32/libcpui.so.3
0x37f70000 /opt/cprocsp/lib/ia32/librdrrndm.so
0x37f73000 /opt/cprocsp/lib/ia32/librdrrndmbio_tui.so
0x37f77000 /usr/local/lib32/compat/libncurses.so.7
0x37fb7000 /opt/cprocsp/lib/ia32/librdrdsrf.so
0x28059000 /libexec/ld-elf.so.1
VM Arguments:
jvm_args: -Djava.endorsed.dirs=/usr/local/apache-tomcat-6.0/endorsed -Dcatalina.base=/usr/local/apache-tomcat-6.0 -Dcatalina.home=/usr/local/apache-tomcat-6.0 -Djava.io.tmpdir=/usr/local/apache-tomcat-6.0/temp
java_command: org.apache.catalina.startup.Bootstrap start
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=/usr/local/jdk1.6.0
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
LD_LIBRARY_PATH=/usr/local/jdk1.6.0/jre/lib/i386/server:/usr/local/jdk1.6.0/jre/lib/i386:/usr/local/jdk1.6.0/jre/../lib/i386
SHELL=/bin/csh
HOSTTYPE=FreeBSD
OSTYPE=FreeBSD
MACHTYPE=unknown
Signal Handlers:
SIGSEGV: [libjvm.so+0x4f30d0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGBUS: [libjvm.so+0x4f30d0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGFPE: [libjvm.so+0x3ea9c0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGPIPE: [libjvm.so+0x3ea9c0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGILL: [libjvm.so+0x3ea9c0], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGUSR1: SIG_DFL, sa_mask[0]=0x63807efb, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x3ecb20], sa_mask[0]=0x00000000, sa_flags=0x00000042
SIGHUP: [libjvm.so+0x3eca30], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGINT: [libjvm.so+0x3eca30], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGQUIT: [libjvm.so+0x3eca30], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGTERM: [libjvm.so+0x3eca30], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
SIGUSR2: [libjvm.so+0x3ecb20], sa_mask[0]=0x00000000, sa_flags=0x00000042
--------------- S Y S T E M ---------------
OS:Bsd
uname:FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011
root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
rlimit: STACK 65536k, CORE 0k, NPROC 5547, NOFILE 11095
CPU:total 2 (2 cores per cpu, 1 threads per core) family 15 model 67 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext
Memory: 4k page, physical 1724652k(431163k free)
vm_info: Java HotSpot(TM) Server VM (1.6.0_03-p4-root_11_nov_2011_08_42-b00) for bsd-x86, built on Nov 11 2011 08:46:34 by "root" with gcc 4.2.1 20070719 [FreeBSD]