我使用 java 生成了一个公钥/私钥对。因为我想将密钥添加到我的代码(而不是文件)中,所以我使用了
byte[] priv = private_key.getEncoded()
将其作为字节数组获取。从我使用的字节数组中取回私钥
PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(priv);
解密按预期工作。但现在我想使用 openssl 在 ac 应用程序中使用该密钥。所以我将字节数组从java复制到c作为char []。但我无法将此 char[] 转换为私钥以通过 RSA_public_decrypt(...) 将其用于解密我试过
RSA *r = d2i_RSAPrivateKey(NULL,&priv, len);
但这总是返回一个 NULL 指针
谁能给我一个关于如何用c语言做到这一点的提示?
编辑:同时我检查了openssl的错误代码,它说
错误:0D0680A8:lib(13):func(104):reason(168)
但我不知道如何处理这些错误代码。在网上搜索还没有帮助。
提前谢谢了。问候,-克里斯-