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捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!