public void doGet(HttpServletRequest request, HttpServletResponse response) {
		logger.finest("get request: " + request.toString());
		
		/**
		 * Sanity checking -- does this request have a key?
		 */
		if (request.getParameter(CommunityConstants.BASE64_PUBLIC_KEY) == null) {
			logger.warning("GET request with no key from: " + request.getRemoteAddr());
			response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
			return;
		}

		/**
		 * First the easy cases -- do we even _know_ about this key?
		 */
		if (CommunityDAO.get().isRegistered(request.getParameter(CommunityConstants.BASE64_PUBLIC_KEY)) == false) {
			response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
			logger.warning("Get request and we don't know about the key " + request.getRemoteAddr());
			return;
		}

		if (request.getParameter(CommunityConstants.CHALLENGE_RESPONSE) != null) {
			logger.finer("Get request with challenge response, checking...");
			processChallengeResponse(request, response);
		} else {
			logger.finer("Get request without challenge, sending challenge...");
			sendChallenge(request, response);
		}
	}