def METHOD_NAME(self, data, ttFont):
    dummy, newData = sstruct.unpack2(DSIG_HeaderFormat, data, self)
    assert self.ulVersion == 1, "DSIG ulVersion must be 1"
    assert self.usFlag & ~1 == 0, "DSIG usFlag must be 0x1 or 0x0"
    self.signatureRecords = sigrecs = []
    for n in range(self.usNumSigs):
        sigrec, newData = sstruct.unpack2(
            DSIG_SignatureFormat, newData, SignatureRecord()
        )
        assert sigrec.ulFormat == 1, (
            "DSIG signature record #%d ulFormat must be 1" % n
        )
        sigrecs.append(sigrec)
    for sigrec in sigrecs:
        dummy, newData = sstruct.unpack2(
            DSIG_SignatureBlockFormat, data[sigrec.ulOffset :], sigrec
        )
        assert sigrec.usReserved1 == 0, (
            "DSIG signature record #%d usReserverd1 must be 0" % n
        )
        assert sigrec.usReserved2 == 0, (
            "DSIG signature record #%d usReserverd2 must be 0" % n
        )
        sigrec.pkcs7 = newData[: sigrec.cbSignature]