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):機能(104):理由(168)
しかし、これらのエラーコードをどうするかわかりません。ネットでの検索はまだ役に立ちませんでした。
よろしくお願いします。こんにちは、-クリス-