Encryption J2ME,使用BouncyCastle从PemObject强制转换为AsymmetricKeyParameter时出现异常

Encryption J2ME,使用BouncyCastle从PemObject强制转换为AsymmetricKeyParameter时出现异常,encryption,java-me,casting,bouncycastle,Encryption,Java Me,Casting,Bouncycastle,我今天的问题是关于J2ME的BouncyCastle加密库, 我在C#中有一些代码,我在其中执行以下转换: AsymmetricKeyParameter pubKey=(AsymmetricKeyParameter)pubReader.ReadObject() 这在C#端起作用,但是当我在Java中执行此操作时,我得到一个错误,指出pubReader没有ReadObject()方法,我将其更改为ReadObject(),但仍然不存在,因此我继续搜索一个将返回对象类型的方法,我只发现readPem

我今天的问题是关于J2ME的BouncyCastle加密库, 我在C#中有一些代码,我在其中执行以下转换:

AsymmetricKeyParameter pubKey=(AsymmetricKeyParameter)pubReader.ReadObject()

这在C#端起作用,但是当我在Java中执行此操作时,我得到一个错误,指出pubReader没有ReadObject()方法,我将其更改为ReadObject(),但仍然不存在,因此我继续搜索一个将返回对象类型的方法,我只发现readPemObject(),如下所示:

AsymmetricKeyParameter pubKey=(AsymmetricKeyParameter)pubReader.readPemObject()

然而。。。这时我遇到了一个大问题,因为我无法从PemObject转换为AsymmetricKeyParameter并最终出现错误

以下是大部分有问题的代码:

PemReader pubReader = new PemReader(new StringReader(pubKey));      
AsymmetricKeyParameter nhe = (AsymmetricKeyParameter)pubReader.readPemObject();

Imported teste = new Imported();        
PemObject pobj = pubReader.readPemObject();

System.out.println("PemObject: " + pobj);
byte[] output = teste.Encrypt(holyshizzle.getBytes(), nhe);
System.out.println(new String(output));         
byte[] revvit = teste.Decrypt(output, (AsymmetricKeyParameter)blah.getPrivate());
System.out.println(new String(revvit));`
PS:导入的类是加密/解密代码所在的地方,所有这些都可以正常工作(使用生成的密钥进行测试),我正在尝试使用预先制作的加密密钥来实现这一点

问候,, Gonçalo Vieira

尝试更换

AsymmetricKeyParameter nhe = (AsymmetricKeyParameter)pubReader.readPemObject();

试着替换

AsymmetricKeyParameter nhe = (AsymmetricKeyParameter)pubReader.readPemObject();


等效函数位于
org.bouncycastle.openssl.PEMReader
类中。此类仅在完整的Bouncycastle提供程序库中可用,而在J2ME版本中不可用。您是否只对RSA密钥感兴趣?等效函数位于
org.bouncycastle.openssl.PEMReader
类中。此类仅在完整的Bouncycastle提供程序库中可用,而在J2ME版本中不可用。你只对RSA密钥感兴趣吗?