mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 19:24:42 +02:00
Fixes for PK_CALLBACKS and sniffer after DerBuffer refactor #2.
This commit is contained in:
@@ -13556,8 +13556,8 @@ static word32 QSH_KeyExchangeWrite(WOLFSSL* ssl, byte isServer)
|
|||||||
#ifdef HAVE_ECC
|
#ifdef HAVE_ECC
|
||||||
ret = ssl->ctx->EccSignCb(ssl, digest, digestSz,
|
ret = ssl->ctx->EccSignCb(ssl, digest, digestSz,
|
||||||
encodedSig, &localSz,
|
encodedSig, &localSz,
|
||||||
ssl->buffers.key.buffer,
|
ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key.length,
|
ssl->buffers.key->length,
|
||||||
ssl->EccSignCtx);
|
ssl->EccSignCtx);
|
||||||
#endif /* HAVE_ECC */
|
#endif /* HAVE_ECC */
|
||||||
#endif /*HAVE_PK_CALLBACKS */
|
#endif /*HAVE_PK_CALLBACKS */
|
||||||
@@ -13651,8 +13651,8 @@ static word32 QSH_KeyExchangeWrite(WOLFSSL* ssl, byte isServer)
|
|||||||
ret = ssl->ctx->RsaSignCb(ssl, signBuffer, signSz,
|
ret = ssl->ctx->RsaSignCb(ssl, signBuffer, signSz,
|
||||||
verify + extraSz + VERIFY_HEADER,
|
verify + extraSz + VERIFY_HEADER,
|
||||||
&ioLen,
|
&ioLen,
|
||||||
ssl->buffers.key.buffer,
|
ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key.length,
|
ssl->buffers.key->length,
|
||||||
ssl->RsaSignCtx);
|
ssl->RsaSignCtx);
|
||||||
#endif /* NO_RSA */
|
#endif /* NO_RSA */
|
||||||
#endif /*HAVE_PK_CALLBACKS */
|
#endif /*HAVE_PK_CALLBACKS */
|
||||||
@@ -14923,8 +14923,8 @@ int DoSessionTicket(WOLFSSL* ssl,
|
|||||||
word32 ioLen = sigSz;
|
word32 ioLen = sigSz;
|
||||||
ret = ssl->ctx->RsaSignCb(ssl, signBuffer, signSz,
|
ret = ssl->ctx->RsaSignCb(ssl, signBuffer, signSz,
|
||||||
output + idx, &ioLen,
|
output + idx, &ioLen,
|
||||||
ssl->buffers.key.buffer,
|
ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key.length,
|
ssl->buffers.key->length,
|
||||||
ssl->RsaSignCtx);
|
ssl->RsaSignCtx);
|
||||||
#endif /*HAVE_PK_CALLBACKS */
|
#endif /*HAVE_PK_CALLBACKS */
|
||||||
}
|
}
|
||||||
@@ -15000,8 +15000,8 @@ int DoSessionTicket(WOLFSSL* ssl,
|
|||||||
ret = ssl->ctx->EccSignCb(ssl, digest, digestSz,
|
ret = ssl->ctx->EccSignCb(ssl, digest, digestSz,
|
||||||
output + LENGTH_SZ + idx,
|
output + LENGTH_SZ + idx,
|
||||||
&sz,
|
&sz,
|
||||||
ssl->buffers.key.buffer,
|
ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key.length,
|
ssl->buffers.key->length,
|
||||||
ssl->EccSignCtx);
|
ssl->EccSignCtx);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -15581,8 +15581,8 @@ int DoSessionTicket(WOLFSSL* ssl,
|
|||||||
word32 ioLen = sigSz;
|
word32 ioLen = sigSz;
|
||||||
ret = ssl->ctx->RsaSignCb(ssl, signBuffer, signSz,
|
ret = ssl->ctx->RsaSignCb(ssl, signBuffer, signSz,
|
||||||
output + idx, &ioLen,
|
output + idx, &ioLen,
|
||||||
ssl->buffers.key.buffer,
|
ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key.length,
|
ssl->buffers.key->length,
|
||||||
ssl->RsaSignCtx);
|
ssl->RsaSignCtx);
|
||||||
#endif
|
#endif
|
||||||
} else if (ret == 0) {
|
} else if (ret == 0) {
|
||||||
@@ -17021,8 +17021,8 @@ int DoSessionTicket(WOLFSSL* ssl,
|
|||||||
#ifdef HAVE_PK_CALLBACKS
|
#ifdef HAVE_PK_CALLBACKS
|
||||||
ret = ssl->ctx->RsaDecCb(ssl,
|
ret = ssl->ctx->RsaDecCb(ssl,
|
||||||
input + *inOutIdx, length, &out,
|
input + *inOutIdx, length, &out,
|
||||||
ssl->buffers.key.buffer,
|
ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key.length,
|
ssl->buffers.key->length,
|
||||||
ssl->RsaDecCtx);
|
ssl->RsaDecCtx);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -17168,7 +17168,7 @@ int DoSessionTicket(WOLFSSL* ssl,
|
|||||||
word16 cipherLen;
|
word16 cipherLen;
|
||||||
word16 plainLen = sizeof(ssl->arrays->preMasterSecret);
|
word16 plainLen = sizeof(ssl->arrays->preMasterSecret);
|
||||||
|
|
||||||
if (!ssl->buffers.key.buffer) {
|
if (!ssl->buffers.key || !ssl->buffers.key->buffer) {
|
||||||
return NO_PRIVATE_KEY;
|
return NO_PRIVATE_KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -17188,8 +17188,8 @@ int DoSessionTicket(WOLFSSL* ssl,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (NTRU_OK != ntru_crypto_ntru_decrypt(
|
if (NTRU_OK != ntru_crypto_ntru_decrypt(
|
||||||
(word16) ssl->buffers.key.length,
|
(word16) ssl->buffers.key->length,
|
||||||
ssl->buffers.key.buffer, cipherLen,
|
ssl->buffers.key->buffer, cipherLen,
|
||||||
input + *inOutIdx, &plainLen,
|
input + *inOutIdx, &plainLen,
|
||||||
ssl->arrays->preMasterSecret)) {
|
ssl->arrays->preMasterSecret)) {
|
||||||
return NTRU_DECRYPT_ERROR;
|
return NTRU_DECRYPT_ERROR;
|
||||||
|
@@ -1341,16 +1341,17 @@ static int ProcessClientKeyExchange(const byte* input, int* sslBytes,
|
|||||||
RsaKey key;
|
RsaKey key;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (session->sslServer->buffers.key.buffer == NULL ||
|
if (session->sslServer->buffers.key == NULL ||
|
||||||
session->sslServer->buffers.key.length == 0) {
|
session->sslServer->buffers.key->buffer == NULL ||
|
||||||
|
session->sslServer->buffers.key->length == 0) {
|
||||||
|
|
||||||
SetError(RSA_KEY_MISSING_STR, error, session, FATAL_ERROR_STATE);
|
SetError(RSA_KEY_MISSING_STR, error, session, FATAL_ERROR_STATE);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ret = wc_InitRsaKey(&key, 0);
|
ret = wc_InitRsaKey(&key, 0);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = wc_RsaPrivateKeyDecode(session->sslServer->buffers.key.buffer,
|
ret = wc_RsaPrivateKeyDecode(session->sslServer->buffers.key->buffer,
|
||||||
&idx, &key, session->sslServer->buffers.key.length);
|
&idx, &key, session->sslServer->buffers.key->length);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
int length = wc_RsaEncryptSize(&key);
|
int length = wc_RsaEncryptSize(&key);
|
||||||
|
|
||||||
|
@@ -11476,10 +11476,10 @@ int wolfSSL_cmp_peer_cert_to_file(WOLFSSL* ssl, const char *fname)
|
|||||||
(XFREAD(myBuffer, sz, 1, file) > 0) &&
|
(XFREAD(myBuffer, sz, 1, file) > 0) &&
|
||||||
(PemToDer(myBuffer, sz, CERT_TYPE,
|
(PemToDer(myBuffer, sz, CERT_TYPE,
|
||||||
&fileDer, ctx->heap, info, &eccKey) == 0) &&
|
&fileDer, ctx->heap, info, &eccKey) == 0) &&
|
||||||
(fileDer.length != 0) &&
|
(fileDer->length != 0) &&
|
||||||
(fileDer.length == peer_cert->derCert.length) &&
|
(fileDer->length == peer_cert->derCert->length) &&
|
||||||
(XMEMCMP(peer_cert->derCert.buffer, fileDer.buffer,
|
(XMEMCMP(peer_cert->derCert->buffer, fileDer->buffer,
|
||||||
fileDer.length) == 0))
|
fileDer->length) == 0))
|
||||||
{
|
{
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user