/** * inputStrem 转成 字符串 * @param is * @return */ public static String inputStream2String(InputStream is){ StringBuffer buffer = new StringBuffer(); try{ BufferedReader in = new BufferedReader(new InputStreamReader(is)); String line = ""; while ((line = in.readLine()) != null){ buffer.append(line); } }catch(Exception e){ e.printStackTrace(); } return buffer.toString(); }
/** * 密码校验后,再进行 证书校验 * @param mcPath * @return */ private Response checkKeyAfter(MultipartFile mcPath){ try{ /** * 后缀 校验通过,验证证书密码 */ CmsHallInfo cmsHallInfo = cmsHallInfoService.findById(5l) ; if(cmsHallInfo==null){ logger.info("无效的key"); return Response.error(GlobalEnum.GLOBAL_ENUM_APP_CHECKUSER_CODE.getValue(), Constants.DIALOG_LOGIN_FAIL); } String key = FileUtil.inputStream2String(mcPath.getInputStream()); if(!key.equals(cmsHallInfo.getValidKey())){ logger.info("无效的key"); return Response.error(GlobalEnum.GLOBAL_ENUM_APP_CHECKUSER_CODE.getValue(), Constants.DIALOG_LOGIN_FAIL); } }catch (Exception e){ } return Response.ok(GlobalEnum.GLOBAL_ENUM_SUCCESS_CODE.getValue(),Constants.DIALOG_LOGIN_SUCCESS); }
/** * * 判断file 空处理,后缀名不符合 * @param request * @param mcPath * @return */ private Response checkKeyBefore(HttpServletRequest request ,MultipartFile mcPath){ try { if(mcPath==null || mcPath.getSize()==0l){ logger.info("无效的key....."); return Response.error(GlobalEnum.GLOBAL_ENUM_APP_CHECKUSER_CODE.getValue(), Constants.DIALOG_LOGIN_FAIL); } /** * 校验 后缀名 */ String type = "" ; String keyName = "" ; MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { String fileName = iter.next(); MultipartFile image = multiRequest.getFile(fileName); keyName = image.getOriginalFilename(); } if(StringUtils.isNotEmpty(keyName)) { if (keyName.lastIndexOf(".") > 0) { type = keyName.substring(keyName.lastIndexOf(".")); if(StringUtils.isNotEmpty(type)){ /** 无效的Key*/ if(!type.equals(".key")){ logger.info("无效的key"); return Response.error(GlobalEnum.GLOBAL_ENUM_APP_CHECKUSER_CODE.getValue(), Constants.DIALOG_LOGIN_FAIL); } }else{ logger.info("无效的key"); return Response.error(GlobalEnum.GLOBAL_ENUM_APP_CHECKUSER_CODE.getValue(), Constants.DIALOG_LOGIN_FAIL); } } }else{ /** * 无效的KEY */ logger.info("无效的key"); return Response.error(GlobalEnum.GLOBAL_ENUM_APP_CHECKUSER_CODE.getValue(), Constants.DIALOG_LOGIN_FAIL); } }catch (Exception e){ } return Response.ok(GlobalEnum.GLOBAL_ENUM_SUCCESS_CODE.getValue(),Constants.DIALOG_LOGIN_SUCCESS); }
本文介绍了一种证书校验的方法,包括对上传文件的初步检查(如文件是否为空及后缀名验证),以及进一步的密码校验过程。该流程确保了只有正确的密钥文件才能通过验证。
1356

被折叠的 条评论
为什么被折叠?



