def _handle_status(self, key, value):
        """Parse a status code from the attached GnuPG process.

        :raises: :exc:`~exceptions.ValueError` if the status message is unknown.
        """
        if key in ("USERID_HINT", "NEED_PASSPHRASE",
                   "GET_HIDDEN", "SIGEXPIRED", "KEYEXPIRED",
                   "GOOD_PASSPHRASE", "GOT_IT", "GET_LINE"):
            pass
        elif key in ("BAD_PASSPHRASE", "MISSING_PASSPHRASE"):
            self.status = key.replace("_", " ").lower()
        else:
            self.status = 'failed'
            raise ValueError("Unknown status message: %r" % key)
Parse a status code from the attached GnuPG process.

        :raises: :exc:`~exceptions.ValueError` if the status message is unknown.