0

我正在使用带有 Android SDK 插件的 Eclipse Helios 并为 Android 2.2 编写

我正在尝试编写一个应用程序来加密发送到 Web 服务的通信,但出现错误

它失败了

    // wrap with RSA public key
    ObjectInputStream keyIn = new ObjectInputStream(getResource(getFileLocation(PUBLIC_KEY, localTest)));
    Key publicKey = (Key) keyIn.readObject();
    keyIn.close();

控制台出现错误...

java.lang.ClassNotFoundException:com.sun.net.ssl.internal.ssl.JSA_RSAPublicKey

这是 jsse.jar 文件中的一个类。如果我尝试在构建路径中包含 jsse.jar 文件,我会收到警告错误并被编译器抱怨。

“处理“javax/net/ServerSocketFactory.class”的问题:“

如何正确引用这个库或引用核心 android 的库?

仅供参考,这可以作为 Java 应用程序使用,但不能在 Android 模块中使用。

4

2 回答 2

1

许多 Android 的库是现有库的自定义版本,javax 也更适用于服务器。

尝试查看加密 API,例如BouncyCastles

如果您使用的是较旧版本的 Android,其中已经有一些 bouncycastle,但对于您正在使用的较新版本,我建议您导入其中的一个。

于 2011-06-16T16:04:53.353 回答
0

好的,当我发布最后一条评论时,我意识到问题可能出在开发密钥的 JRE 中。因此,我不得不使用 JRE 1.5 重新创建密钥,因为 Android 系统至少使用 JRE 1.5。这似乎奏效了!

于 2011-06-17T13:26:58.160 回答