ロRSA非公開鍵からメモリーを使用libxmlsec
質問
私は現在使用し libxmlsec 私にはC++のソフトウェアからの荷重は、RSA非公開鍵から。このためには、検索トラフのAPIから この機能.
このバイナリデータ、サイズ、フォーマット文字列や複数のPEM-コールバック関連のパラメータ。
呼び出し機能でstucksを使用して100%のCPU時間およびんに戻ります。かなり面倒な方法をみつめなおすきっかけを与え何が間違っています。
こちらは自分のコード:
d_xmlsec_dsig_context->signKey =
xmlSecCryptoAppKeyLoadMemory(
reinterpret_cast<const xmlSecByte*>(data),
static_cast<xmlSecSize>(datalen),
xmlSecKeyDataFormatBinary,
NULL,
NULL,
NULL
);
data
は const char*
指原のバイトマRSA鍵を使用 i2d_RSAPrivateKey()
, から OpenSSL) datalen
サイズ data
.
私 試験 鍵のないパスフレーズとしての使用についてはコールバックする。
は誰かにこのようなもの?だん見なかった変更の試験を取得します。
私が発見された図書館、昨日か逃しも明らかなこだけを見ることのできない。
ありがとうございにちは。
解決
Iは、PEMにのdata
のの形式を変更する PEM_write_bio_RSAPrivateKey()
ののOpenSSL関数を使用し、それそうのxmlSecCryptoAppKeyLoadMemory()
するの呼び出しに三番目の引数を変更新しいフォーマットに一致します。
新しいコードは次のとおりです。
d_xmlsec_dsig_context->signKey =
xmlSecCryptoAppKeyLoadMemory(
reinterpret_cast<const xmlSecByte*>(data), // data is now in PEM format
static_cast<xmlSecSize>(datalen),
xmlSecKeyDataFormatPem, // Updated
NULL,
NULL,
NULL
);
それ以来、すべての作品:コールはもはや動けなくなるん
。所属していません StackOverflow