我正在尝试在我的 android 设备中使用 fips-openssl 库。到目前为止,我已经能够构建 fips 模块并在我的设备上运行它附带的测试套件。现在,我正在尝试将特定证书加载到我的代码的 JNI 部分。但是应用程序失败并出现此错误。
这就是失败的地方。
cbio = BIO_new_mem_buf((void*)thawteCA, -1);
PEM_read_bio_X509(cbio, &cacert, 0, NULL);
我已经用 fips 对象文件 (fipscanister.o) 构建了我自己的共享库“libfips.so”,并将它加载到我的 java 类中。
Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
我附上了我的 android-log 的相关部分。我对 NDK 开发相当陌生。任何关于此的指示都会对我有很大帮助。
F/libc ( 5488): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
I/DEBUG ( 91): debuggerd: tmb file path:'/data/tombstones/tombstone_09'
I/DEBUG ( 91): *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 91): Build fingerprint: 'alps/e1808_v75_jbl1/e1808_v75_jbl1:4.0.3/IML74K/1338672019:user/test-keys'
I/DEBUG ( 91): pid: 5488, tid: 5488 >>> com.work.data <<<
I/DEBUG ( 91): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
I/DEBUG ( 91): r0 deadbaad r1 00000001 r2 40000000 r3 00000000
I/DEBUG ( 91): r4 00000000 r5 00000027 r6 00000004 r7 40049da4
I/DEBUG ( 91): r8 be997678 r9 40049d9c 10 00000000 fp be99764c
I/DEBUG ( 91): ip ffffffff sp be9975f8 lr 40103589 pc 400ffc8c cpsr 60000030
I/DEBUG ( 91): #00 pc 00017c8c /system/lib/libc.so
D/AEE/debuggerd( 91): stack_depth:1
I/DEBUG ( 91): #01 lr 40103589 /system/lib/libc.so
I/DEBUG ( 91):
I/DEBUG ( 91): code around pc:
I/DEBUG ( 91): 400ffc6c 4623b15c 2c006824 e026d1fb b12368db \.#F$h.,..&..h#.
I/DEBUG ( 91): 400ffc7c 21014a17 6011447a 48124798 24002527 .J.!zD.`.G.H'%.$
I/DEBUG ( 91): 400ffc8c f7f47005 2106eca2 ed30f7f5 f04fa901 .p.....!..0...O.
I/DEBUG ( 91): 400ffc9c 460a5380 93032006 94029401 e8faf7f5 .S.F. ..........
I/DEBUG ( 91): 400ffcac 4622a905 f7f52002 f7f4e904 2106ec8e .."F. .........!
I/DEBUG ( 91):
I/DEBUG ( 91): code around lr:
I/DEBUG ( 91): 40103568 41f0e92d 4c0c4680 447c2600 68a56824 -..A.F.L.&|D$h.h
I/DEBUG ( 91): 40103578 e0076867 300cf9b5 dd022b00 47c04628 gh.....0.+..(F.G
I/DEBUG ( 91): 40103588 35544306 37fff117 6824d5f4 d1ee2c00 .CT5...7..$h.,..
I/DEBUG ( 91): 40103598 e8bd4630 bf0081f0 00027f9a 41f0e92d 0F..........-..A
I/DEBUG ( 91): 401035a8 9004b086 f602fb01 460c461f 46154814 .........F.F.H.F
I/DEBUG ( 91):
I/DEBUG ( 91): memory map around addr deadbaad:
I/DEBUG ( 91): be977000-be998000 [stack]
I/DEBUG ( 91): (no map for address)
I/DEBUG ( 91): ffff0000-ffff1000 [vectors]
I/DEBUG ( 91):
I/DEBUG ( 91): stack:
I/DEBUG ( 91): be9975b8 51226ecc /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be9975bc 0151c478 [heap]
I/DEBUG ( 91): be9975c0 40049da4
I/DEBUG ( 91): be9975c4 511b7570 /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be9975c8 4012b74c /system/lib/libc.so
I/DEBUG ( 91): be9975cc 40130850
I/DEBUG ( 91): be9975d0 00000000
I/DEBUG ( 91): be9975d4 40103589 /system/lib/libc.so
I/DEBUG ( 91): be9975d8 00000000
I/DEBUG ( 91): be9975dc be99760c [stack]
I/DEBUG ( 91): be9975e0 00000004
I/DEBUG ( 91): be9975e4 40049da4
I/DEBUG ( 91): be9975e8 be997678 [stack]
I/DEBUG ( 91): be9975ec 401026c9 /system/lib/libc.so
I/DEBUG ( 91): be9975f0 df0027ad
I/DEBUG ( 91): be9975f4 00000000
I/DEBUG ( 91): #00 be9975f8 51246aec /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be9975fc 0150c8c8 [heap]
I/DEBUG ( 91): be997600 51219f68 /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be997604 00000498
I/DEBUG ( 91): be997608 00000004
I/DEBUG ( 91): be99760c fffffbdf
I/DEBUG ( 91): be997610 012c5680 [heap]
I/DEBUG ( 91): be997614 4c1797c0 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 91): be997618 012c5680 [heap]
I/DEBUG ( 91): be99761c 511ca4ec /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be997620 4c1797c0 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 91): be997624 51195e00 /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be997628 51238970 /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be99762c 0150c848 [heap]
I/DEBUG ( 91): be997630 293d175e
I/DEBUG ( 91): be997634 4c1797c0 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 91): be997638 51219888 /data/data/com.work.data/lib/libfips.so
I/DEBUG ( 91): be99763c 51219f68 /data/data/com.work.data/lib/libfips.so