apn验证 证书密码

 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捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

猜你喜欢

转载自knight-black-bob.iteye.com/blog/2222816
APN
今日推荐