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. C#从http上拿返回JSON数据

    C#如何拿到从http上返回JSON数据? 第一章:C#如何拿到从http上返回JSON数据? 第二章:C#如何解析JSON数据?(反序列化对象) 第三章:C#如何生成JSON字符串?(序列化对象) ...

  2. Json.net日期格式化设置

    Json.net默认的时间格式化后带T,不符合一般的业务要求,重新设置JSON.NET的默认日期格式化方式,代码如下: /// <summary> /// Json.net默认转换设置 / ...

  3. 通过http上下文判断是否是Ajax请求

    using System; namespace System.Web.Mvc { /// <summary>Represents a class that extends the < ...

  4. Windows Server 2016-增强IPAM

    Windows Server 2016网络功能可能没有像Docker容器或Nano Server那样得到关注,但是管理员应该了解新的域名系统服务器和IP地址管理功能如何帮助他们获得对网络环境的更多控制 ...

  5. vmWare 虚机文件不能启动的事故处理

    由于公司停电,导致几十台vmWare虚拟机器启动报错. 错误:Failed to power on virtual machine XXX. Failed to lock the file Click ...

  6. 线程--实现Runnable接口

    实现Runnable接口,创建线程步骤: 1.定义类,并实现Runnable接口 2.重写Runnable接口中的run()方法 3.通过Thread类建立线程对象 4.将实现了Runnable接口的 ...

  7. 查看linux系统是运行在物理机还是虚拟机方法

    Windows:在CMD里输入:Systeminfo | findstr /i "System Model"如果System Model:后面含有Virutal就是虚拟机,其他都是 ...

  8. C. Nice Garland

    题意: 就是有一串灯分别颜色是R,G,B.要求将每种颜色的灯相隔2个不同的灯.比如,RGR变成RGB才叫好看. 分析: RGB有6种排列,分别是:"RGB", "RBG& ...

  9. 爬取伯乐在线文章(五)itemloader

    ItemLoader 在我们执行scrapy爬取字段中,会有大量的CSS或是Xpath代码,当要爬取的网站多了,要维护起来很麻烦,为解决这类问题,我们可以根据scrapy提供的loader机制. 导入 ...

  10. Ubuntu 14.04 LTS 安装 NVIDIA 显卡驱动后的屏幕亮度调节问题

    安装 Ubuntu,对于 NVIDIA 显卡,默认情况下会使用第三方开源驱动,并且一般情况下,第三方开源驱动和系统兼容性更好.由于 NVIDIA 显卡驱动不是开放的,所以对 Linux 系统的原生支持 ...