@@ -7371,7 +7371,8 @@ static int wolfTPM2_SignCertCb(const byte* in, word32 inLen,
73717371 int rc ;
73727372 TpmSignCbCtx * tpmCtx = (TpmSignCbCtx * )ctx ;
73737373
7374- if (tpmCtx == NULL || tpmCtx -> dev == NULL || tpmCtx -> key == NULL ) {
7374+ if (tpmCtx == NULL || tpmCtx -> dev == NULL || tpmCtx -> key == NULL ||
7375+ in == NULL || out == NULL || outLen == NULL ) {
73757376 return BAD_FUNC_ARG ;
73767377 }
73777378
@@ -7815,23 +7816,11 @@ int wolfTPM2_CSR_MakeAndSign_ex(WOLFTPM2_DEV* dev, WOLFTPM2_CSR* csr,
78157816 int sigType , int selfSignCert , int devId )
78167817{
78177818 int rc ;
7818- int keyType ;
78197819
78207820 if (dev == NULL || key == NULL || csr == NULL || out == NULL ) {
78217821 return BAD_FUNC_ARG ;
78227822 }
78237823
7824- /* Determine key type from TPM key */
7825- if (key -> pub .publicArea .type == TPM_ALG_ECC ) {
7826- keyType = ECC_TYPE ;
7827- }
7828- else if (key -> pub .publicArea .type == TPM_ALG_RSA ) {
7829- keyType = RSA_TYPE ;
7830- }
7831- else {
7832- return BAD_FUNC_ARG ;
7833- }
7834-
78357824 /* Set version to 2 for self-signed certificates, 0 for regular CSRs per RFC2986 */
78367825 if (selfSignCert ) {
78377826 csr -> req .version = 2 ;
@@ -7843,6 +7832,19 @@ int wolfTPM2_CSR_MakeAndSign_ex(WOLFTPM2_DEV* dev, WOLFTPM2_CSR* csr,
78437832#ifdef WOLFSSL_CERT_SIGN_CB
78447833 /* Use new callback-based signing if devId not specified */
78457834 if (devId == INVALID_DEVID ) {
7835+ int keyType ;
7836+
7837+ /* Determine key type from TPM key */
7838+ if (key -> pub .publicArea .type == TPM_ALG_ECC ) {
7839+ keyType = ECC_TYPE ;
7840+ }
7841+ else if (key -> pub .publicArea .type == TPM_ALG_RSA ) {
7842+ keyType = RSA_TYPE ;
7843+ }
7844+ else {
7845+ return BAD_FUNC_ARG ;
7846+ }
7847+
78467848 /* Set signature type if not specified */
78477849 if (sigType == 0 ) {
78487850 if (keyType == RSA_TYPE ) {
0 commit comments