gpt4 book ai didi

java - 在 Android 中以 PKCS#1 格式在 Android 中生成 RSA key

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:18 26 4
gpt4 key购买 nike

我正在尝试在 Android 中以 PKCS#1 的形式生成 RSA 公钥。

这里几乎完全重复了这个问题:Generating RSA keys in PKCS#1 format in Java

尽管如此,作者从未回应过。我浏览了答案,但一直无法找到有用的东西。我得出的结论(除非其他人有不同的答案)必须使用 Bouncy CaSTLe 来完成。我在使用充气城堡时遇到的唯一问题实际上是在 Android 中使用它。我“似乎”正确导入了 jar(我说“似乎”是因为我以前从未做过,但这是一个相当轻松的过程,我在 Eclipse 中没有收到任何错误)但是,然后我在日志 cat 中收到错误.

03-25 22:25:58.780: E/AndroidRuntime(9171): java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.BouncyCastleProvider

最佳答案

两个可能的答案。

如果你想按照你的方式进行,试试这个来解决 NoClassDefFoundErrorandroid eclipse updated and now app crashes when it trys to run

您也可以改用 JSch。我自己在 android 上可靠地工作。 RSA Encryption forceclosing before generating public/private keys

编辑:这是使用 JSch 生成 RSA 类型 key 对的示例。我认为它是 PKCS#1,但我对该标准还不够熟悉。 relevant javadoc这就是我要说的。

/**
* Load or generate a RSA keypair to use as a client for the given JSch.
*/
public boolean registerKeyPair(JSch jSch) {
new File(getRootFolder().getAbsolutePath() + "/.ssh").mkdirs();

File privateKey = new File(getRootFolder().getAbsolutePath() + "/.ssh/id_rsa");
File publicKey = new File(getRootFolder().getAbsolutePath() + "/.ssh/id_rsa.pub");
if (!privateKey.exists() || !publicKey.exists()) {
try {
KeyPair keyPair = KeyPair.genKeyPair(jSch, KeyPair.RSA);
keyPair.writePrivateKey(privateKey.getAbsolutePath());
keyPair.writePublicKey(publicKey.getAbsolutePath(), "Machine Shop");
return true;
} catch (JSchException e) {
Log.e("genKeyPair(RSA)", Log.getStackTraceString(e));
} catch (FileNotFoundException e) {
Log.e("genKeyPair(RSA)", Log.getStackTraceString(e));
} catch (IOException e) {
Log.e("genKeyPair(RSA)", Log.getStackTraceString(e));
}
return false;
}

try {
jSch.addIdentity(privateKey.getAbsolutePath());
return true;
} catch (JSchException e) {
Log.w("jSch.addIdentity", Log.getStackTraceString(e));
return false;
}

}

编辑:假设 Eclipse。包括 JSch jar file在您的构建路径中,最好是作为本地 jar(比如在 lib 文件夹中)。请务必在“订购和导出”选项卡上进行检查。

现在刷新您的项目。

关于java - 在 Android 中以 PKCS#1 格式在 Android 中生成 RSA key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9865913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com