mirror of https://github.com/wolfSSL/wolfssh.git
Sign H Casting
1. Fix the typecasting when signing H with RSA. 2. Assign the sign return value to ret, then assign it to *sigSz if successful. 3. Similar change for the encoded sign value.pull/708/head
parent
0e72885161
commit
4281ee4b4e
|
@ -10944,24 +10944,32 @@ static int SignHRsa(WOLFSSH* ssh, byte* sig, word32* sigSz,
|
|||
}
|
||||
|
||||
if (ret == WS_SUCCESS) {
|
||||
encSigSz = wc_EncodeSignature(encSig, digest, digestSz,
|
||||
ret = wc_EncodeSignature(encSig, digest, digestSz,
|
||||
wc_HashGetOID(hashId));
|
||||
if (encSigSz <= 0) {
|
||||
if (ret <= 0) {
|
||||
WLOG(WS_LOG_DEBUG, "SignHRsa: Bad Encode Sig");
|
||||
ret = WS_CRYPTO_FAILED;
|
||||
}
|
||||
else {
|
||||
encSigSz = (word32)ret;
|
||||
ret = WS_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == WS_SUCCESS) {
|
||||
WLOG(WS_LOG_INFO, "Signing hash with %s.",
|
||||
IdToName(ssh->handshake->pubKeyId));
|
||||
*sigSz = wc_RsaSSL_Sign(encSig, encSigSz, sig,
|
||||
ret = wc_RsaSSL_Sign(encSig, encSigSz, sig,
|
||||
KEX_SIG_SIZE, &sigKey->sk.rsa.key,
|
||||
ssh->rng);
|
||||
if (*sigSz <= 0) {
|
||||
if (ret <= 0) {
|
||||
WLOG(WS_LOG_DEBUG, "SignHRsa: Bad RSA Sign");
|
||||
ret = WS_RSA_E;
|
||||
}
|
||||
else {
|
||||
*sigSz = (word32)ret;
|
||||
ret = WS_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == WS_SUCCESS) {
|
||||
|
|
Loading…
Reference in New Issue