免费使用

苹果证书一键在线制作,工具完全免费:测试证书、ADHOC证书、上架证书、推送证书、P12证书、P8证书一键生成

ios11去推送签名

在iOS开发中,推送服务是非常重要的一环。由于iOS设备的限制,开发者需要使用苹果提供的推送服务来向用户发送消息。然而,在开发过程中,有时会遇到推送证书过期或无法使用的问题。这时,我们需要去推送签名,以便继续使用推送服务。下面将详细介绍iOS11去推送签名的原理和步骤。

一、什么是推送签名

推送签名是指用于标识推送服务的证书。在iOS开发中,我们需要使用苹果提供的推送服务来向用户发送消息。为了确保数据传输的安全性,苹果要求开发者使用推送证书来标识自己的应用程序。推送证书包含公钥和私钥,私钥用于加密数据,公钥用于解密数据。当我们向用户发送消息时,需要将消息加密后发送给苹果服务器,苹果服务器再将消息解密后发送给用户的设备。而推送证书就是用来保证数据传输的安全性。

二、原理

在iOS11中,推送服务的认证方式发生了变化。以前,开发者只需要在苹果开发者中心申请推送证书,并将证书导入到Xcode中即可。而在iOS11中,需要先在苹果开发者中心创建一个APNs信任配置文件,然后将该配置文件导入到Xcode中。在Xcode中进行打包时,Xcode会自动将配置文件打包到应用程序中。当应用程序运行时,会自动读取该配置文件,并使用其中的证书进行推送服务的认证。

三、步骤

1.创建APNs信任配置文件

在苹果开发者中心创建APNs信任配置文件的步骤如下:

1)登录苹果开发者中心,进入“Certificates, Identifiers & Profiles”页面。

2)选择“Identifiers”,点击“App IDs”,找到需要使用推送服务的应用程序,在右侧点击“Edit”。

3)在“Edit App ID”页面中,勾选“Push Notifications”,点击“Continue”。

4)在“Configure App ID for Push Notifications”页面中,选择“Create Certificate”,按照提示操作,生成推送证书。

5)证书生成后,下载证书,双击安装到Keychain中。

6)在Keychain中找到证书,右键点击证书,选择“Export”,将证书导出为.p12格式的文件。

7)打开终端,输入以下命令,将.p12格式的证书转换为.pem格式:

$ openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

$ openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

$ cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem

8)将生成的apns-dev.pem文件上传到服务器。

2.导入APNs信任配置文件

在Xcode中导入APNs信任配置文件的步骤如下:

1)打开Xcode,选择“File”->“New”->“Target”。

2)选择“iOS”->“App Extension”->“Notification Service Extension”,点击“Next”。

3)输入扩展程序的名称,点击“Finish”。

4)在新建的扩展程序中,找到“Info.plist”文件,将其打开。

5)在“Info.plist”文件中,添加“aps-environment”键,并将其值设置为“development”或“production”,代表开发或生产环境。

6)在“Info.plist”文件中,添加“NSExtension”键,将其值设置为“NSExtensionAttributes”,并在“NSExtensionAttributes”中添加“apns-topic”键,将其值设置为应用程序的bundle ID。

7)在“Info.plist”文件中,添加“NSExtension”键,将其值设置为“NSExtensionPointIdentifier”,并将其值设置为“com.apple.usernotifications.service”。

8)在“Info.plist”文件中,添加“NSExtension”键,将其值设置为“NSExtensionPrincipalClass”,并将其值设置为扩展程序的主类名。

9)在Xcode中,打开应用程序的“Target”,找到“Capabilities”选项卡,将“Push Notifications”和“Background Modes”开关打开。

10)在“Capabilities”选项卡中,找到“Push Notifications”选项,点击“Configure”,选择“Create Certificate”,按照提示操作,生成推送证书。

11)证书生成后,下载证书,双击安装到Keychain中。

12)在Keychain中找到证书,右键点击证书,选择“Export”,将证书导出为.p12格式的文件。

13)打开终端,输入以下命令,将.p12格式的证书转换为.pem格式:

$ openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

$ openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

$ cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem

14)将生成的apns-dev.pem文件上传到服务器。

四、总结

推送服务是iOS应用程序开发中非


相关知识:
苹果软件证书无效
在使用苹果设备时,我们可能会遇到“软件证书无效”的提示。这个提示意味着我们无法打开某些应用程序,因为它们的开发者证书已经过期或被吊销。那么,什么是苹果软件证书?为什么会无效?我们该如何解决这个问题呢?接下来,本文将为大家介绍苹果软件证书无效的原理和解决方法
2023-04-07
苹果描述文件 未签名
苹果描述文件是用于在苹果设备上安装应用程序的重要文件。描述文件包含应用程序的信息和配置文件,以及用于验证应用程序身份的数字签名。未签名的描述文件可能会导致应用程序无法正常安装或运行。苹果描述文件包含以下信息:1. 应用程序标识符:每个应用程序都有一个唯一的
2023-04-07
苹果怎么跳过证书
苹果设备为了保护用户的安全,通过限制未经认证的应用程序的安装来避免用户下载到恶意软件。这种限制是通过应用程序签名和证书验证实现的。但是有时候,用户可能会想要跳过这些限制,比如安装未经认证的应用程序。本文将介绍苹果设备跳过证书的原理和详细方法。一、证书验证的
2023-04-07
苹果怎么用手机自签证书
苹果手机自签证书是一种用于验证应用程序身份的数字证书。它可以帮助开发者在不需要借助苹果的官方证书的情况下,将应用程序安装到用户的设备上。本篇文章将详细介绍如何在苹果手机上使用自签证书。首先,我们需要了解一些基本概念。在苹果开发者中心注册开发者账号之后,我们
2023-04-07
苹果安装证书密码怎么办
在苹果设备上安装证书时,有时需要输入密码。这个密码是指用于加密证书的私钥的密码,通常称为证书密码或私钥密码。私钥是一种用于加密和解密数据的密钥,如果私钥被泄露,那么攻击者就可以使用该私钥来解密加密的数据。因此,为了保护私钥的安全,通常需要设置一个密码来加密
2023-04-07
苹果安装包无签名怎么办
在苹果设备上安装应用程序时,必须使用签名的安装包。签名是苹果系统中的一种安全机制,用于验证应用程序是否来自可信来源。如果应用程序没有签名,将无法在苹果设备上安装。那么,如果遇到苹果安装包无签名,该怎么办呢?下面我们来详细介绍一下。首先,我们需要了解一下苹果
2023-04-07
苹果共享证书老掉签
苹果共享证书老掉签是指在使用苹果共享证书时,出现了证书过期或失效的情况,导致无法正常使用。这种情况通常发生在使用非正式途径获取的共享证书时,比如通过第三方应用商店或者越狱等方式获取。共享证书是苹果公司提供的一种开发工具,旨在方便开发者在测试阶段进行应用程序
2023-04-07
ios重签名啥意思
iOS重签名是指将已经存在的iOS应用程序重新签名,以便将其安装到其他设备上。这个过程是通过将新的签名证书应用到现有的应用程序包中来完成的。这个过程通常是由开发人员或者企业用户使用的,以便在不通过App Store的情况下将应用程序部署到多个设备上。iOS
2023-04-07
ios签名创始人
iOS签名是指将应用程序打包并在苹果官方证书的支持下进行授权,以便在iOS设备上安装和运行。这个过程需要使用苹果官方的开发者证书和私钥,以及应用程序的代码和资源文件。iOS签名是确保应用程序在iOS设备上安全运行的重要步骤。iOS签名的原理是基于公钥加密技
2023-04-07
ios之推送证书
在 iOS 开发中,推送证书是必不可少的一步。推送证书可以让我们的应用程序向用户发送推送通知。在本文中,我们将详细介绍 iOS 推送证书的原理和详细操作步骤。一、推送证书的原理推送证书是一种安全证书,用于确保推送服务与应用程序之间的安全通信。它包含应用程序
2023-04-07
iosapp开发者签名
iOS App开发者签名是指将开发者个人或企业的数字证书与应用程序绑定的过程。这个过程是为了保证应用程序的安全性,防止应用程序被篡改或恶意攻击。在iOS系统中,只有经过签名的应用程序才能被安装和运行。iOS App开发者签名的原理是,开发者在苹果开发者中心
2023-04-07
ios16签名教程
iOS 16签名是指对iOS 16操作系统进行数字签名的过程。数字签名是一种用于验证软件或文件完整性的技术,它通过对文件进行加密和校验和的计算,生成一个唯一的签名,以确保文件在传输或使用过程中没有被篡改或破坏。在iOS 16上进行数字签名的目的是为了确保用
2023-04-07
©2015-2021 成都七扇门科技有限公司 yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-4