VirtualBox

Ignore:
Timestamp:
Aug 22, 2015 7:15:54 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
102289
Message:

VERR_SUP_VP_NOT_BUILD_CERT_IPE: Dump the certificates. This requires message box changes in TrustedError as it would easily grow to large otherwise.

Location:
trunk/src/VBox/HostDrivers/Support/win
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp

    r57456 r57501  
    157157    uint32_t        cchErrorInfo;
    158158    /** The error info. */
    159     char            szErrorInfo[2048];
     159    char            szErrorInfo[16384 - sizeof(RTLISTNODE) - sizeof(HANDLE)*2 - sizeof(uint64_t) - sizeof(uint32_t) - 0x20];
    160160} SUPDRVNTERRORINFO;
    161161/** Pointer to error info. */
  • trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyImage-win.cpp

    r57358 r57501  
    921921
    922922/**
    923  * @callback_method_impl{RTCRPKCS7VERIFYCERTCALLBACK,
     923 * @callback_method_impl{FNRTDUMPPRINTFV, Formats into RTERRINFO. }
     924 */
     925static DECLCALLBACK(void) supHardNtViAsn1DumpToErrInfo(void *pvUser, const char *pszFormat, va_list va)
     926{
     927    PRTERRINFO pErrInfo = (PRTERRINFO)pvUser;
     928    RTErrInfoAddV(pErrInfo, pErrInfo->rc, pszFormat, va);
     929}
     930
     931
     932/**
     933 * @callback_method_impl{FNRTCRPKCS7VERIFYCERTCALLBACK,
    924934 * Standard code signing.  Use this for Microsoft SPC.}
    925935 */
     
    939949        if (RTCrX509Certificate_Compare(pCert, &g_BuildX509Cert) == 0) /* healthy paranoia */
    940950            return VINF_SUCCESS;
    941         return RTErrInfoSetF(pErrInfo, VERR_SUP_VP_NOT_BUILD_CERT_IPE, "Not valid kernel code signature.");
     951        int rc = RTErrInfoSetF(pErrInfo, VERR_SUP_VP_NOT_BUILD_CERT_IPE, "Not valid kernel code signature (fFlags=%#x).", fFlags);
     952        if (pErrInfo)
     953        {
     954            RTErrInfoAdd(pErrInfo, rc, "\n\nExe cert:\n");
     955            RTAsn1Dump(&pCert->SeqCore.Asn1Core, 0 /*fFlags*/, 0 /*uLevel*/, supHardNtViAsn1DumpToErrInfo, pErrInfo);
     956            RTErrInfoAdd(pErrInfo, rc, "\n\nBuild cert:\n");
     957            RTAsn1Dump(&g_BuildX509Cert.SeqCore.Asn1Core, 0 /*fFlags*/, 0 /*uLevel*/, supHardNtViAsn1DumpToErrInfo, pErrInfo);
     958        }
     959        return rc;
    942960    }
    943961
  • trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp

    r57358 r57501  
    217217    char                        szWhere[80];
    218218    /** Error message / path name string space. */
    219     char                        szErrorMsg[4096];
     219    char                        szErrorMsg[16384+1024];
    220220} SUPR3WINPROCPARAMS;
    221221
     
    43654365         * better chance resolving the issue.
    43664366         */
    4367         char szErrorInfo[_4K];
     4367        char szErrorInfo[16384];
    43684368        int rc = VERR_OPEN_FAILED;
    43694369        if (SUP_NT_STATUS_IS_VBOX(rcNt)) /* See VBoxDrvNtErr2NtStatus. */
     
    44114411                                  "NtCreateFile(%ls) failed: %Rrc (rcNt=%#x)%s", s_wszName, rc, rcNt,
    44124412                                  supR3HardenedWinReadErrorInfoDevice(szErrorInfo, sizeof(szErrorInfo),
    4413                                                                     "\nVBoxDrvStub error: "));
     4413                                                                      "\nVBoxDrvStub error: "));
    44144414        }
    44154415        else
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette