apn验证 证书密码
通过 捕获异常 验证证书的 正确 ,可以验证 ios证书 是否过期 ,是否 密码不正确 ,证书本省不正确。
不能验证是 测试 环境证书 ,还是 生产环境证书。。。。
apns jars 下载:http://download.csdn.net/download/knight_black_bob/8850221
public void validCert() { HttpServletRequest req = getRequest(); HttpServletResponse rsp=getResponse(); app = appService.getAppById(appid); User user = (User) getSession().getAttribute(Constants.SESSION_USER); String cerPath =Constants.CerPath + File.separatorChar+ user.getSpid()+ File.separatorChar + appid; if ("new".equals(isNewCert)) { cerPath = Constants.tempCerPath; } boolean isPropductEnviroment = false; if ("1".equals(platForEnvir)) { isPropductEnviroment = true; } String currentCerPath = cerPath + File.separatorChar + iosFileName; boolean v = certificateInfoService.validCert(isPropductEnviroment, certPassword, currentCerPath); String rt1; if (v) { rt1 = "{\"statuscode\":200}"; } else { rt1 = "{\"statuscode\":400}"; } try { rsp.getWriter().write(rt1); } catch (Exception e) { } }
public boolean validCert(boolean isPropductEnviroment, String currentPassword, String currentCerPath) { boolean rst = false; try { List<PayloadPerDevice> payLoadPerDeviceList = new ArrayList<PayloadPerDevice>(); // 生成一个预定义的消息内容,1个badge和声音 PushNotificationPayload payload = PushNotificationPayload.combined("testcontent", 1, "default"); String messageDevicetoken = "0123456789012345678901234567890123456789012345678901234567890123"; for (String det : ArraysUtil.stringToArray(messageDevicetoken)) { payLoadPerDeviceList.add(new PayloadPerDevice(payload, det)); } rst = sendsvalid(payLoadPerDeviceList, isPropductEnviroment, currentCerPath, currentPassword); } catch (Exception e) { logger.warn("", e); } return rst; } public boolean sendsvalid(List<PayloadPerDevice> payLoadPerDeviceList, boolean isPropductEnviroment, String currentCerPath, String currentPassword) { // 如果当前消息的应用ID与上一消息的应用ID不相等或当前消息为最后一条则发送消息 if (payLoadPerDeviceList.size() > 0) { try { if (isPropductEnviroment) { // 发送消息到生产环境 Push.payloads(currentCerPath, currentPassword, true, 10, payLoadPerDeviceList); } else { // 发送消息到非生产环境(测试环境) Push.payloads(currentCerPath, currentPassword, false, 10, payLoadPerDeviceList); } } catch (Exception e) { logger.warn("", e); return false; } } return true; }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!