Merge pull request #310 from dgarske/csr_cryptocb_devid

Use a different (not default) devId for the CSR crypto callback.
pull/314/head
Eric Blankenhorn 2023-11-28 07:43:47 -06:00 committed by GitHub
commit 4d65e9f10f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 4 deletions

View File

@ -6213,11 +6213,22 @@ static int CSR_KeySetup(WOLFTPM2_DEV* dev, WOLFTPM2_CSR* csr, WOLFTPM2_KEY* key,
#ifdef HAVE_ECC
csrKey->tpmCtx.eccKey = key;
#endif
rc = wolfTPM2_SetCryptoDevCb(dev, wolfTPM2_CryptoDevCb,
&csrKey->tpmCtx, &csrKey->tpmDevId);
if (rc == 0) {
devId = csrKey->tpmDevId;
rc = wolfTPM2_GetTpmDevId(dev);
if (rc >= 0) {
devId = rc;
devId += 1; /* use a different devId for the CSR callback */
rc = 0;
}
if (rc == 0) {
csrKey->tpmCtx.dev = dev;
rc = wc_CryptoCb_RegisterDevice(devId, wolfTPM2_CryptoDevCb,
&csrKey->tpmCtx);
}
if (rc != 0) {
return rc;
}
csrKey->tpmDevId = devId;
}
/* determine the type of key in WOLFTPM2_KEY */