static int VerifyAttestationReport()

in sdk/host/src/main/java/org/apache/teaclave/javasdk/host/SGXRemoteAttestationVerify.java [41:61]


    static int VerifyAttestationReport(byte[] report) throws RemoteAttestationException {
        RemoteAttestationVerifyResult verifyResult = new RemoteAttestationVerifyResult(0, 0, 0);
        nativeVerifyAttestationReport(report, verifyResult);
        if (verifyResult.getVersionCheck() == -1) {
            throw new RemoteAttestationException("sgx_qv_get_quote_supplemental_data_size returned size is not same with header definition in SGX SDK");
        } else if (verifyResult.getStatus() == 1) {
            throw new RemoteAttestationException("sgx_qv_get_quote_supplemental_data_size failed");
        } else if (verifyResult.getStatus() == 2) {
            throw new RemoteAttestationException("sgx_qv_verify_quote failed");
        } else if (verifyResult.getStatus() == 3) {
            throw new RemoteAttestationException("supplemental data memory allocation failed");
        } else if (verifyResult.getVerifyFlag() == 1) {
            throw new RemoteAttestationException("verification completed, but collateral is out of date");
        } else if (verifyResult.getVerifyFlag() == 2) {
            throw new RemoteAttestationException("verification completed with non-terminal result");
        } else if (verifyResult.getVerifyFlag() == 3) {
            throw new RemoteAttestationException("verification completed with terminal result, but verification check failed");
        } else {
            return verifyResult.getVerifyFlag();
        }
    }