https://www.cnblogs.com/MrJalen/p/6813309.html

iOS推送证书生成pem文件(详细步骤)

 

1、pem文件概述

pem文件是服务器向苹果服务器做推送时候需要的文件,主要是给php向苹果服务器验证时使用,下面介绍一下pem文件的生成。

2、生成pem文件步骤

1、打开钥匙串,选择需要生成的推送证书

选择相应证书
 

2、将Certificate和Private key导出得到 .p12 文件

2.1、生成证书apns_dev_cert.p12的p12文件,按照下面操作导出p12,桌面对应生成apps_dev_cer.p12文件

导出相应的 p12 文件
 

导出证书Cer的p12文件,设置密码
 
 

2.2、生成证书对应的秘钥apns_dev_key.p12的p12文件,按照下面操作导出p12,桌面对应生成apps_dev_ker.p12文件。

导出相应证书Key的p12文件

导出证书Key的p12文件,设置密码
 
 

3、将apns_dev_cert.p12和apns_dev_key.p12文件对应转化为apns_dev_cer.pem和apns_dev_key.pem文件

3.1、打开终端,输入cd Desktop

3.2、将apns_dev_cert.p12文件转换为pen格式,输入openssl pkcs12 -clcerts -nokeys -out apns_dev_cert.pem -in apns_dev_cert.p12

1>. 要求输入一个密码,输入123456.(此处为导出p12的保护密码),此时桌面会生成一个apns_dev_cert.pem文件 

3.3、将apns_dev_key.p12文件转换为pen格式,输入openssl pkcs12 -nocerts -out apns_dev_key.pem -in apns_dev_key.p12

1>. 要求输入一个密码,输入123456.(此处为导出p12的保护密码)

2>. 要求验证保护密码,再一次输入123456,此时桌面会生成一个apns-dev-key.pem文件

4、将apns_dev_cer.pem和apns_dev_key.pem文件合成为apns_dev.pem文件,此文件将给php后台用于连接苹果服务器时需要使用,在终端继续输入:cat apns_dev_cer.pem apns_dev_key.pem > apns_dev.pem,此时桌面生成一个apns_dev.pem

3、验证生成的pem文件

在终端测试:openssl s_client -connectgateway.sandbox.push.apple.com:2195-cert apns_dev_cert.pem -key apns_dev_key.pem

终端最后显示以下内容,表示配置pem文件成功,

.............................

Key-Arg   : None

Start Time: 1467854873

Timeout   : 300 (sec)

Verify return code: 0 (ok)

版权声明:本文为博主原创文章,未经博主允许不得转载。

oc之证书的更多相关文章

  1. oc学习之路----APNS消息推送从证书到代码(2015年4月26号亲试可用)

    前言:看这篇博客之前要准备:首先的有一个99刀的个人开发者账号或者199刀的企业开发者账号,其次你用的是apns消息推送,(本人之前四处打听有没有其他消息推送的方法:收获如下:首先如果想做到apns的 ...

  2. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

  3. WKWebView与Js (OC版)

    OC如何给JS注入对象及JS如何给IOS发送数据 JS调用alert.confirm.prompt时,不采用JS原生提示,而是使用iOS原生来实现 如何监听web内容加载进度.是否加载完成 如何处理去 ...

  4. WKWebView与Js实战(OC版)

    前言 上一篇专门讲解了WKWebView相关的所有类.代理的所有API.那么本篇讲些什么呢?当然是实战了! 本篇文章教大家如何使用WKWebView去实现常用的一些API操作.当然,也会有如何与JS交 ...

  5. oc常见误区

    1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...

  6. Unity3D研究院之IOS全自动编辑framework、plist、oc代码

    Unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了..而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生 ...

  7. 【腾讯Bugly干货分享】iOS 中 HTTPS 证书验证浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/-fLLTtip509K6pNOTkflPQ 导语 本 ...

  8. OC学习10——内存管理

    1.对于面向对象的语言,程序需要不断地创建对象.这些对象都是保存在堆内存中,而我们的指针变量中保存的是这些对象在堆内存中的地址,当该对象使用结束之后,指针变量指向其他对象或者指向nil时,这个对象将称 ...

  9. 企业版证书打包APP发布,安装后闪退问题解决。

    企业版证书打包APP发布,安装后闪退问题解决. 我现在就碰到这个问题,只要项目与Swift沾上边的,都会出问题. 如果我们是直接使用开发者证书进行真机调试,那么就不会出现问题,像往常一样好.但如果我们 ...

随机推荐

  1. Elasticsearch深入搜索之全文搜索及JavaAPI使用

    一.基于词项与基于全文 所有查询会或多或少的执行相关度计算,但不是所有查询都有分析阶段. 和一些特殊的完全不会对文本进行操作的查询(如 bool 或 function_score )不同,文本查询可以 ...

  2. AngularJS学习之旅—AngularJS 表达式(二)

    1.AngularJS 表达式 AngularJS 表达式写在双大括号内:{{ expression }}. AngularJS 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙 ...

  3. Python 3 iter函数用法简述

    Python 3中关于iter(object[, sentinel)]方法有两个参数. 使用iter(object)这种形式比较常见. iter(object, sentinel)这种形式一般较少使用 ...

  4. win10安装nodejs遇到提示错误代码2503怎么办

    我们在安装某个软件的时候,最闹心的就是遇到提示安装失败或错误,比如win10系统在安装nodejs遇到提示错误代码2503,遇见这个问题也不要慌张,今天小编就来告诉大家怎么解决这个问题. 1.打开智能 ...

  5. jQuery -- 光阴似箭(一):初见 jQuery -- 基本用法,语法,选择器

    jQuery -- 知识点回顾篇(一):初见jQuery -- 基本用法,语法,选择器 1. 使用方法 jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数. ...

  6. Servlet中的request与response

    了解这方面的知识可以查看以下博客 https://www.cnblogs.com/zhangyinhua/p/7629221.html https://www.cnblogs.com/zhaojian ...

  7. win32gui.Findwindow(parm1,parm2)查找窗口的句柄方法

    介绍之前先让大家了解一下win32gui的模块用法 和 获取窗口类名工具 使用Python时,有时也会要操作到系统窗口的一些东西,下面就介绍win32gui.Findwindow(param1,par ...

  8. centos7下安装docker(17.3docker监控---cAdvisor)

    cAdvisor是google开发的容器监控工具 1.在host上运行cadvisor容器 docker run -d -p 8080:8080 --name cadvisor -v /:/rootf ...

  9. [matlab] 6.粒子群优化算法

    粒子群优化(PSO, particle swarm optimization)算法是计算智能领域,除了蚁群算法,鱼群算法之外的一种群体智能的优化算法,该算法最早由Kennedy和Eberhart在19 ...

  10. day 03 基本数据类型的使用、运算符

    一:基本数据类型的使用 1.为什么数据要区分类型 数据类型指的是变量值的类型,变量值是用来记录事物的状态的,而事物的状态具有不同的类型,不同类型的变量值表示不同类型的状态,所以数据要区分类型. 2.数 ...