Changeset 95690 in vbox
- Timestamp:
- Jul 18, 2022 12:59:34 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 152340
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/tools/RTSignTool.cpp
r95688 r95690 780 780 } 781 781 782 /** Returns the real certificate. */ 783 PCRTCRX509CERTIFICATE getRealCertificate() const 784 { 785 #ifdef RT_OS_WINDOWS 786 if (pCertificateReal) 787 return pCertificateReal; 788 #endif 789 return pCertificate; 790 } 791 782 792 #ifdef RT_OS_WINDOWS 783 793 RTEXITCODE loadFakePrivateKeyAndCert() … … 2007 2017 */ 2008 2018 PRTCRPKCS7SIGNEDDATA pSignedData = pContentInfo->u.pSignedData; 2009 unsigned iCert = pSignedData->Certificates.cItems; 2019 unsigned iCert = pSignedData->Certificates.cItems; 2020 unsigned cErased = 0; 2010 2021 while (iCert-- > 0) 2011 2022 { … … 2015 2026 &pCertKeyPair->pCertificate->TbsCertificate.Issuer, 2016 2027 &pCertKeyPair->pCertificate->TbsCertificate.SerialNumber)) 2028 { 2017 2029 RTCrPkcs7SetOfCerts_Erase(&pSignedData->Certificates, iCert); 2018 } 2030 cErased++; 2031 } 2032 } 2033 if (cErased == 0) 2034 return RTMsgErrorExitFailure("(%s) Failed to find temporary signing certificate in PKCS#7 from OpenSSL: %u certs", 2035 pszWhat, pSignedData->Certificates.cItems); 2019 2036 2020 2037 /* Then insert the real signing certificate. */ 2021 RTEXITCODE rcExit = SignToolPkcs7_AppendCertificate(pSignedData, pCertKeyPair->pCertificateReal); 2038 PCRTCRX509CERTIFICATE const pRealCertificate = pCertKeyPair->getRealCertificate(); 2039 RTEXITCODE rcExit = SignToolPkcs7_AppendCertificate(pSignedData, pRealCertificate); 2022 2040 if (rcExit != RTEXITCODE_SUCCESS) 2023 2041 return rcExit; … … 2029 2047 RTCrX509Name_Delete(&pSignerInfo->IssuerAndSerialNumber.Name); 2030 2048 int rc = RTCrX509Name_Clone(&pSignerInfo->IssuerAndSerialNumber.Name, 2031 &p CertKeyPair->pCertificateReal->TbsCertificate.Issuer, &g_RTAsn1DefaultAllocator);2049 &pRealCertificate->TbsCertificate.Issuer, &g_RTAsn1DefaultAllocator); 2032 2050 if (RT_FAILURE(rc)) 2033 2051 return RTMsgErrorExitFailure("(%s) RTCrX509Name_Clone failed: %Rrc", pszWhat, rc); … … 2035 2053 RTAsn1Integer_Delete(&pSignerInfo->IssuerAndSerialNumber.SerialNumber); 2036 2054 rc = RTAsn1Integer_Clone(&pSignerInfo->IssuerAndSerialNumber.SerialNumber, 2037 &p CertKeyPair->pCertificateReal->TbsCertificate.SerialNumber, &g_RTAsn1DefaultAllocator);2055 &pRealCertificate->TbsCertificate.SerialNumber, &g_RTAsn1DefaultAllocator); 2038 2056 if (RT_FAILURE(rc)) 2039 2057 return RTMsgErrorExitFailure("(%s) RTAsn1Integer_Clone failed: %Rrc", pszWhat, rc); … … 2273 2291 2274 2292 RTEXITCODE rcExit = SignToolPkcs7_AddAuthAttribsForTimestamp(&AuthAttribs, fTimestampTypeOld, SigningTime, 2275 pTimestampPair-> pCertificate);2293 pTimestampPair->getRealCertificate()); 2276 2294 if (rcExit == RTEXITCODE_SUCCESS) 2277 2295 { … … 2322 2340 if (rcExit == RTEXITCODE_SUCCESS) 2323 2341 { 2324 rcExit = SignToolPkcs7_AppendCertificate(pSignedData, pTimestampPair-> pCertificate);2342 rcExit = SignToolPkcs7_AppendCertificate(pSignedData, pTimestampPair->getRealCertificate()); 2325 2343 2326 2344 PCRTCRCERTCTX pInterCaCtx = NULL;
Note:
See TracChangeset
for help on using the changeset viewer.