2

Androidでnettyを実行しようとしています。3.2 を実行している Motorola Xoom タブレットで問題なく動作します。しかし、それぞれ 2.3.6 と 3.1 を実行している Samsung Galaxy S と Galaxy Tab では常に失敗します。例外トレースは以下の通りです。誰かが以前にこれに直面しましたか..これに関する回避策..ありがとう。

Caused by: java.security.InvalidKeyException: The public key in the 
certificate cannot be used for ENCRYPT_MODE 
     at javax.crypto.Cipher.init(Cipher.java:815) 
     at javax.crypto.Cipher.init(Cipher.java:747) 
     at 
org.apache.harmony.xnet.provider.jsse.ClientHandshakeImpl.processServerHelloDone(ClientHandshakeImpl.java: 
418) 
4

2 に答える 2

0

これは 3.0 以降で修正される予定でした: http://code.google.com/p/android/issues/detail?id=12955

指定した行番号に基づいて、古いバージョンの javax/crypto/Cipher.java を使用しています。このパッチで修正されるはずです。

編集:
それでも解決しない場合は、SSL エンジンで、サーバーと互換性のある暗号スイートが有効になっていない可能性があります。openssl s_client connectまたはここに記載されているスクリプトを使用して、サーバーが好む暗号を確認し、それらを有効にすることができます。

于 2012-05-29T21:18:42.047 に答える