IOS企业级推送证书制作及本地推送验证小记

        做IOS开发也有好几年了,期间免不了要跟证书打交道,记得因为证书被坑了N次,每次制作或者更新都要百度谷歌一番,为此抽出点时间将自己制作推送证书的过程记录下来,加深记忆的 同时,希望也能帮到为此困惑的亲们。(ps:开发狗都不容易啊╮(╯▽╰)╭)

1.打开钥匙串,制作证书请求文件(这一步就不多说了,不会的请右转)

在证书助理里填写相关字段,注:常用名称对应钥匙串里生成后的密钥对名称

点击继续,本地存储certSigningRequest文件后,可以在钥匙串里看到对应的密钥信息,


2.制作推送证书

登录苹果开发者中心https://developer.apple.com/,进入 account,进入Profiles,选择第一项certificates/production(以发布推送证书为例,制作开发版推送证书与此相同),点击右上角 “+”,创建证书。

选择“In-House and Ad Hoc”(企业级),并点击下一步

下一步直到选择上传CSR文件界面,这个CSR File 就是我们从证书助理请求生成的文件,上传然后下一步,选择要绑定的app id(即要实现推送服务的APP ID),完成创建。




2.制作后台可用的推送证书相关文件

      下载已生成的推送证书存储至本地:aps.cer,双击安装到钥匙串。找到已安装的证书,导出并设置密码,得到appPushKey.p12 文件

目前为止 已有 appPush.certSigningRequest(证书请求文件)

                         aps.cer (原始推送证书)

                         appPushKey.p12(安装推送证书后,从钥匙串导出的加密P12文件)

格式转换:

openssl x509 -in aps.cer -inform DER -out appPushCert.pem-outform PEM (将aps.cer转换为pem格式文件)

openssl pkcs12 -nocerts -out appPushKey.pem-in appPushKey.p12  (将appPushKey.p12转换为pem格式文件)

cat appPushCert.pem appPushKey.pem >AllInOne.pem (得到可以供php调用的pem文件)

openssl pkcs12 -export -in AllInOne.pem -out AllInOne.p12 (得到可以供java后台调用的p12文件)

全部过程完成后,可以对推送证书进行验证:

openssl s_client -connect gateway.sandbox.push.apple.com:2195-cert appPushCert.pem-key appPushKey.pem

出现类似截图信息 则表示推送证书有效可用。

3.后台服务测试代码

PHP:


// Put your device token here (without spaces):

$deviceToken = 'f46bdb2a34c3f8e02c50c1f4213cf1aa9a2bd4fadfba5876da1c7f432a15ceb4';

//    $deviceToken = '1843D7E2-97A6-44F8-9A2E-E18A8D516A6A';

// Put your private key's passphrase here:密语

$passphrase = 'wangfeng1990';

// Put your alert message here:

$message = '新的待办任务hahahah!';

////////////////////////////////////////////////////////////////////////////////

$ctx = stream_context_create();

stream_context_set_option($ctx, 'ssl', 'local_cert', 'AllInOne.pem');

stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

//gateway.sandbox.push.apple.com:2195

// Open a connection to the APNS server

$fp = stream_socket_client(

'ssl://gateway.push.apple.com:2195', $err,

$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

if (!$fp)

exit("Failed to connect: $err $errstr" . PHP_EOL);

echo 'Connected to APNS' . PHP_EOL;

// Create the payload body

$body['aps'] = array(

'alert' => $message,

'sound' => 'default',

    'badge' => '1'

);

// Encode the payload as JSON

$payload = json_encode($body);

// Build the binary notification

$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;

// Send it to the server

$result = fwrite($fp, $msg, strlen($msg));

if (!$result)

echo 'Message not delivered' . PHP_EOL;

else

echo 'Message successfully delivered' . PHP_EOL;

// Close the connection to the server

fclose($fp);


?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,780评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,424评论 1 305
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,397评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,576评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,997评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,945评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,107评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,850评论 0 208
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,625评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,804评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,285评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,613评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,291评论 3 242
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,164评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,963评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,096评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,886评论 2 278

推荐阅读更多精彩内容