Bug 1984621
| Summary: | tssloadexternal call to d2i_RSAPrivateKey fails with move to openssl 3.0 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Jerry Snitselaar <jsnitsel> |
| Component: | tss2 | Assignee: | Štěpán Horáček <shoracek> |
| Status: | CLOSED ERRATA | QA Contact: | Eirik Fuller <efuller> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 9.0 | CC: | bhu, core-kernel-mgr, dbohanno, efuller, rvr, shoracek, skozina |
| Target Milestone: | beta | Keywords: | Triaged |
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | tss2-1.6.0-5.el9 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2022-05-17 16:02:46 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1870687, 1958021 | ||
There was a fix upstream in openssl 3 involving d2i functions that went into beta1, but trying to test with beta1 I still see the failure. Ken Goldman at IBM is working on porting tss2 from using any deprecated functions. openssl github issue for problem resolved in beta1: https://github.com/openssl/openssl/issues/12284 Setting Verified:Tested based on the tests described in bug 1870687 comment 27. Moving to VERIFIED based on the tests described in bug 1870687 comment 31. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (new packages: tss2), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:4047 |
Description of problem: Create RSA and ECC key pairs in PEM format using openssl Convert key pair to plaintext DER format Load the RSA openssl key pair in the NULL hierarchy 80000001 - sha1 ERROR: convertRsaDerToKeyPair: could not convert key to RSA loadexternal: failed, rc 00000084 TPM_RC_VALUE - value is out of range or is not correct for the context Handle number unspecified /var/str/tss /var/str /var/str TPM_RC convertRsaDerToKeyPair(TPM2B_PUBLIC *objectPublic, TPM2B_SENSITIVE *objectSensitive, int keyType, TPMI_ALG_SIG_SCHEME scheme, TPMI_ALG_HASH nalg, TPMI_ALG_HASH halg, const char *derKeyFilename, const char *password) { TPM_RC rc = 0; RSA *rsaKey = NULL; unsigned char *derBuffer = NULL; size_t derSize; /* read the DER file */ if (rc == 0) { rc = TSS_File_ReadBinaryFile(&derBuffer, /* freed @1 */ &derSize, derKeyFilename); } if (rc == 0) { const unsigned char *tmpPtr = derBuffer; /* because pointer moves */ >>> rsaKey = d2i_RSAPrivateKey(NULL, &tmpPtr, (long)derSize); /* freed @2 */ if (rsaKey == NULL) { printf("convertRsaDerToKeyPair: could not convert key to RSA\n"); rc = TPM_RC_VALUE; } } if (rc == 0) { rc = convertRsaKeyToPrivate(NULL, /* TPM2B_PRIVATE */ objectSensitive, /* TPM2B_SENSITIVE */ rsaKey, password); } if (rc == 0) { rc = convertRsaKeyToPublic(objectPublic, keyType, scheme, nalg, halg, rsaKey); } free(derBuffer); /* @1 */ TSS_RsaFree(rsaKey); /* @2 */ return rc; } Version-Release number of selected component (if applicable): How reproducible: Reproduces every run of gating test. So 1minutetip rhel9 should trigger it. You can also look at the specific failing test in utils/regtests/testsalt.sh. Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: