0
は、私はこれを実装し、エラー取得しています:0407B07B:RSAルーチン:RSA_check_keyを:BitLen 1024 MS CAPI PRIVATEKEYBLOB *
1と合同ではないDE、ModLen 128、Prime1、Prime2、Exponent1、Exponent2は、係数=長さを64 PrivateExponentレン= 128RSA* blobtorsa()
{
BN_set_word(rsa->e, prsahdr->pubexp);
lend_tobn(rsa->n, pbmod, cbmod);
lend_tobn(rsa->p, pbprime1, cbprimes);
lend_tobn(rsa->q, pbprime2, cbprimes);
lend_tobn(rsa->d, pbprivexp, cbprivexp);
// d mod (p - 1)
BN_mod_sub(rsa->dmp1, rsa->d, BN_value_one(), rsa->p, ctx);
// d mod (q-1)
BN_mod_sub(rsa->dmq1, rsa->d, BN_value_one(), rsa->q, ctx);
BIGNUM* negone = BN_new();
BN_set_word(negone, -1);
// q^-1 mod p
BN_mod_exp(rsa->iqmp, rsa->q, negone, rsa->p, ctx);
if (RSA_check_key(rsa) == 0)
{
print error
error:0407B07B:rsa routines:RSA_check_key:d e not congruent to 1
}
}
うわー - もっと慎重に自分のコードをチェックすればいいですか? BN_メソッドのすべてを正しく取得すると、うまく動作します。 – steve