質問

私は現在使用し 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
    );

dataconst char* 指原のバイトマRSA鍵を使用 i2d_RSAPrivateKey(), から OpenSSLdatalen サイズ 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
);

それ以来、すべての作品:コールはもはや動けなくなるん

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top