code: def _ReadFileHeader(self, file_object):
      
      data_type_map = self._GetDataTypeMap('keychain_file_header')
  
      file_header, _ = self._ReadStructureFromFileObject(
          file_object, 0, data_type_map)
  
      if file_header.signature != self._FILE_SIGNATURE:
        raise errors.ParseError('Unsupported file signature.')
  
      if (file_header.major_format_version != self._MAJOR_VERSION or
          file_header.minor_format_version != self._MINOR_VERSION):
        raise errors.ParseError('Unsupported format version: {0:s}.{1:s}'.format(
            file_header.major_format_version, file_header.minor_format_version))
  
      return file_header
docs: Reads the file header.
  
      Args:
        file_object (file): file-like object.
  
      Returns:
        keychain_file_header: file header.
  
      Raises:
        ParseError: if the file header cannot be read.