forked from wolfSSL/wolfssl
Fix check for PSS availability in peer
This commit is contained in:
@ -16058,6 +16058,11 @@ void PickHashSigAlgo(WOLFSSL* ssl, const byte* hashSigAlgo,
|
|||||||
|
|
||||||
PickHashSigAlgo(ssl, input + *inOutIdx, len);
|
PickHashSigAlgo(ssl, input + *inOutIdx, len);
|
||||||
*inOutIdx += len;
|
*inOutIdx += len;
|
||||||
|
#ifdef WC_RSA_PSS
|
||||||
|
ssl->pssAlgo = 0;
|
||||||
|
if (ssl->suites->sigAlgo == rsa_pss_sa_algo)
|
||||||
|
ssl->pssAlgo |= 1 << ssl->suites->hashAlgo;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* authorities */
|
/* authorities */
|
||||||
@ -18746,7 +18751,7 @@ int SendCertificateVerify(WOLFSSL* ssl)
|
|||||||
if (ssl->hsType == DYNAMIC_TYPE_RSA) {
|
if (ssl->hsType == DYNAMIC_TYPE_RSA) {
|
||||||
#ifdef WC_RSA_PSS
|
#ifdef WC_RSA_PSS
|
||||||
if (IsAtLeastTLSv1_2(ssl) &&
|
if (IsAtLeastTLSv1_2(ssl) &&
|
||||||
(ssl->pssAlgo | (1 << ssl->suites->hashAlgo))) {
|
(ssl->pssAlgo & (1 << ssl->suites->hashAlgo))) {
|
||||||
args->sigAlgo = rsa_pss_sa_algo;
|
args->sigAlgo = rsa_pss_sa_algo;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3817,7 +3817,7 @@ int SendTls13CertificateVerify(WOLFSSL* ssl)
|
|||||||
/* Add signature algorithm. */
|
/* Add signature algorithm. */
|
||||||
if (ssl->hsType == DYNAMIC_TYPE_RSA) {
|
if (ssl->hsType == DYNAMIC_TYPE_RSA) {
|
||||||
#ifdef WC_RSA_PSS
|
#ifdef WC_RSA_PSS
|
||||||
if (ssl->pssAlgo | (1 << ssl->suites->hashAlgo))
|
if (ssl->pssAlgo & (1 << ssl->suites->hashAlgo))
|
||||||
args->sigAlgo = rsa_pss_sa_algo;
|
args->sigAlgo = rsa_pss_sa_algo;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user