def _ssh_build_mic(self, session_id, username, service, auth_method):
mic = self._make_uint32(len(session_id))<EOL>mic += session_id<EOL>mic += struct.pack("<STR_LIT:B>", MSG_USERAUTH_REQUEST)<EOL>mic += self._make_uint32(len(username))<EOL>mic += username.encode()<EOL>mic += self._make_uint32(len(service))<EOL>mic += service.encode()<EOL>mic += self._make_uint32(len(auth_method))<EOL>mic += auth_method.encode()<EOL>return mic<EOL>
Create the SSH2 MIC filed for gssapi-with-mic.

:param str session_id: The SSH session ID
:param str username: The name of the user who attempts to login
:param str service: The requested SSH service
:param str auth_method: The requested SSH authentication mechanism
:return: The MIC as defined in RFC 4462. The contents of the
         MIC field are:
         string    session_identifier,
         byte      SSH_MSG_USERAUTH_REQUEST,
         string    user-name,
         string    service (ssh-connection),
         string    authentication-method
                   (gssapi-with-mic or gssapi-keyex)