- - PR -
javaとC++でハイブリッド暗号の実装について
«前のページへ
1|2|3
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-30 20:18
お世話になっております。
現状サーバ側(C++)の公開鍵符号化に使用しているWinAPIのCryptExportKey()の エンコードフォーマットが分からなかったのと、 後々Linux対応も視野に入れると言う理由でOpenSSL(0.9.8b)のライブラリを使用してみました。 【C++ ⇔ C++】は動作したのですが、結果は変わらず javaで公開鍵を復元しようとすると「Could not decode public key from BER」が出ます。 --- C++ ---- // 宣言 RSA* pRsa = NULL; // 鍵作成 pRsa= RSA_generate_key(512, 65537, NULL, NULL); // 公開鍵をRSA to メモリに書き出し unsigned char *buf_pub = NULL; // サイズ割り出し int nLen_pub = i2d_RSAPublicKey(pRsa, NULL); buf_pub = next_pub = (unsigned char*)malloc(nLen_pub); // 符号化 i2d_RSAPublicKey(pRsa, &buf_pub); アドバイス頂いた通り、符号化フォーマットを調べました... OpenSSLの上記符号化はDER形式のようでjavaで出てるエラーは「BERじゃないよ?」なのです。 どちらもエンコードされたものは同じとの事の様なのに期待通りに行きません。 参考にさせて頂いたサイト http://www.geocities.co.jp/SiliconValley-SanJose/3377/ http://nienie.com/~masapico/crypt1.html 理解が足りてないかもしれませんがご教授の程お願いします。 |
«前のページへ
1|2|3