0

Android デバイスで fips-openssl ライブラリを使用しようとしています。これまでのところ、fips モジュールをビルドし、それに付属するテスト スイートをデバイスで実行することができました。現在、コードの JNI 部分に特定の証明書をロードしようとしています。しかし、アプリケーションはこのエラーで失敗します。

これが失敗するところです。

   cbio = BIO_new_mem_buf((void*)thawteCA, -1);
   PEM_read_bio_X509(cbio, &cacert, 0, NULL);

fips objectfile ( fipsanister.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
4

1 に答える 1

0

私はAndroidのソースコードを使用していますが、さまざまなフレームワークファイルにログ行を追加した後、エミュレーターの起動時に同じエラーが発生しました(そう思います)。

グーグル私はこのページを見つけました

http://rootzwiki.com/topic/36129-guideicsjbcommon-definitive-faq-for-newest-miui-porting/

ここにそれは言う

F/libc ( 83): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)

Cコードの例外が原因です。

この短い情報がお役に立てば幸いです。

于 2012-11-06T13:20:40.217 に答える