- 生成Certificate Signing Request (CSR)
打开keychain access 如下图所示:
按要求输入相应的信息即可。把证书保存到本地
2.导出私有密钥
打开keychain access 通过查询功能(通过生成证书的common name查询)找到私有密钥,导出。如下图所示:
注意保存的时候会提示输入密码,这个密码要记住哦,后面有用。导出命名为:PushOAKey.p12
3.使用付费的苹果账号登录https://developer.apple.com。进入 iOS Provisioning Portal,创建一个app id.如下图所示:
4.创建完APPID后配置推送,如下图所示:
我这里是配置过了,如果没有配置就会有个configurable,点击以后进行配置,如下图所示:
选择继续,如下图所示:
在这里选择我们第一步生成的CertificateSigningRequest.certSigningRequest证书即可,生成完成,下载.cer后缀名的文件到本地,命名为:aps_development.cer
5.到目前为止,我们已经生成了三个证书
如下所示:PushChat.certSigningRequest PushOAKey.p12 aps_development.cer
6.生成java,.net端连接apns的证书.这里使用openssl。操作步骤如下所示:
使用OpenSSL
1、将aps_development.cer转换成 aps_developer_identity.pem格式。
openssl x509 -in aps_development.cer -inform DER -out aps_developer_identity.pem -outform PEM
2、将p12格式的私钥转换成pem,密码都设置为:abc123。
openssl pkcs12 -nocerts -out Push_oa.pem -in PushOAKey.p12
3、用certificate和the key 创建PKCS#12格式的文件。
openssl pkcs12 -export -in aps_developer_identity.pem -inkey Push_oa.pem -certfile CertificateSigningRequest.certSigningRequest -name aps_developer_identity -out aps_developer_identity.p12
这样我们就得到了在应用程序中使用的证书文件:aps_developer_identity.p12。
注:苹果的消息推送服务器地址:
如下图:
To develop and deploy the provider side of a client/server application, you must get SSL certificates from the appropriate Dev Center. Each certificate is limited to a single application, identified by its bundle ID. Each certificate is also limited to one of two development environments, each with its own assigned IP address:
-
Sandbox: The sandbox environment is used for initial development and testing of the provider application. It provides the same set of services as the production environment, although with a smaller number of server units. The sandbox environment also acts a virtual device, enabling simulated end-to-end testing.
You access the sandbox environment at
gateway.sandbox.push.apple.com
, outbound TCP port 2195. -
Production: Use the production environment when building the production version of the provider application. Applications using the production environment must meet Apple’s reliability requirements.
You access the production environment at
gateway.push.apple.com
, outbound TCP port 2195.
You must get separate certificates for the sandbox (development) environment and the production environment. The certificates are associated with an identifier of the application that is the recipient of push notifications; this identifier includes the application’s bundle ID. When you create a provisioning profile for one of the environments, the requisite entitlements are automatically added to the profile, including the entitlement specific to push notifications, <aps-environment>
. The two provisioning profiles are called Development and Distribution. The Distribution provisioning profile is a requirement for submitting your application to the App Store.
OS X Note: The entitlement for the OS X provisioning profile is com.apple.developer.aps-environment
, which scopes it to the platform.
You can determine in Xcode which environment you are in by the selection of a code-signing identity. If you see an “iPhone Developer: Firstname Lastname” certificate/provisioning profile pair, you are in the sandbox environment. If you see an “iPhone Distribution: Companyname” certificate/provisioning profile pair, you are in the production environment. It is a good idea to create a Distribution release configuration in Xcode to help you further differentiate the environments.
Although an SSL certificate is not put into a provisioning profile, the <aps-environment>
is added to the profile because of the association of the certificate and a particular application ID. As a result this entitlement is built into the application, which enables it to receive push notifications.
相关推荐
在iOS应用开发中,消息推送是一项重要的功能,它允许服务器向设备发送通知,即使应用程序在后台运行或完全关闭。这个“ios 消息推送 java后端demo”是为开发者提供的一个示例,帮助理解如何使用Java后端实现对iOS...
iOS消息推送是iOS应用开发中的一个重要特性,它允许应用程序在后台状态下接收服务器发送的通知,即使用户没有打开应用程序。本资源包含一个简单的iOS工程源码,用于实现这一功能。以下是关于iOS消息推送及其实现的...
在本文中,我们将深入探讨如何在C#环境下实现iOS的消息推送功能,主要基于提供的资源"PushSharp-master"。首先,我们需要了解iOS的消息推送服务(Apple Push Notification service, 简称APNs)以及C#中如何与之交互...
总的来说,iOS消息推送服务端开发涉及证书配置、连接APNs、构造推送消息以及错误处理等多个环节。使用JavaAPNS这样的库可以简化这一过程,特别是其多线程支持,能够提高推送效率。然而,开发者还需要根据实际需求...
在iOS中,为了实现消息推送,开发者需要创建一个证书,并将其配置在服务器上,以便通过APNs接口发送推送消息。 APNS.php文件是PHP服务端源码的核心部分,它实现了与APNs服务器通信的功能。这个文件通常包含以下关键...
此资源提供的"IOS推送服务windows服务程序及安装包代码"意味着它已经被封装成Windows服务,可以在无人值守的情况下持续运行。这通常涉及到以下步骤: 1. **服务注册**:使用`System.ServiceProcess.ServiceBase`类...
本程序为测试ios推送消息程序。 生成推送证书后,添加到本程序根目录下,并配置JdSoft.Apns.Test.exe.config文件,就可以向指定设备推送消息。 可一作为验证证书是否生成正确。 ///证书名称 ...
总的来说,Notnoop是一个强大的工具,它帮助开发者简化了与APNs的交互,从而能够高效地向iOS设备推送消息。通过熟悉Notnoop的使用,开发者可以更专注于业务逻辑,而不是底层的推送实现细节。在NotnoopTest文件中,你...
一旦连接建立,服务器就可以构造推送消息,其中包括设备的deviceToken、通知的payload(包含通知的显示内容和附加数据)以及可选的自定义设置,如声音、角标和通知类别。 推送消息会被编码为JSON格式,这是APNs接受...
在iOS平台上,实现消息推送是一项重要的功能,...在客户端,需要注册通知、获取并处理device token,而在服务器端则需要正确配置证书,构造并发送推送消息。理解并掌握这一过程对于开发具备推送功能的iOS应用至关重要。
总之,“IOS消息推送.zip”是一个全面的Qt for iOS推送通知实现案例,它涵盖了从配置、编程到实际使用的全过程。无论是对Qt新手还是经验丰富的开发者,这个项目都是学习和实践iOS推送通知的一个宝贵资源。通过深入...
我们将主要关注Apple Push Notification service (APNs)、所需的jar包以及如何在Java环境中设置和发送推送消息。 首先,理解APNs是关键。APNs是苹果提供的一个服务,用于将通知从服务器推送到iOS、iPadOS和watchOS...
2. **构建消息**:创建推送消息,包括设备令牌(每个iOS设备都有一个唯一的设备令牌,用于接收推送)、通知标题、正文、以及任何自定义数据。 3. **连接APNs**:使用HTTP/2或TCP协议连接到APNs服务器,发送构建好的...
**证书制作是iOS推送服务的关键步骤**。开发者需要在Apple Developer Portal中创建推送服务的证书。这包括创建一个CSR(Certificate Signing Request)文件,然后在Portal中提交该请求以获取SSL证书。同时,需要在...
.NET iOS 消息推送机制和服务涉及的是iOS应用与...通过理解APNS的工作原理,正确配置服务器,构建和发送推送消息,以及妥善处理可能出现的问题,我们可以构建稳定且高效的推送系统,为iOS用户提供及时的信息服务。
Java iOS 消息推送依赖于特定的库,如在标题和描述中提到的 `bcprov-jdk15on-149.jar` 和 `javapns-jdk16-163.jar`,这两个库是实现Apple Push Notification Service (APNS)的关键组件。APNS是苹果公司提供的一项...
这个证书分为开发和生产两种,用于分别在开发和发布环境中推送消息。 3. **配置Profile**: 创建相应的Provisioning Profile,将创建的App ID与开发或生产证书关联起来,下载并安装到你的Xcode中,这样你的Xcode...
总的来说,iOS APNs推送消息涉及到客户端和服务端的协同工作,需要正确配置证书,处理设备Token,以及构建和发送有效的推送消息。通过理解这个过程,开发者可以确保他们的应用能够及时、准确地向用户推送通知。
iOS 推送消息技术详解 iOS 推送消息是许多 iOS 应用都具备的功能,它允许开发者向用户推送消息,提高用户体验和应用的粘性。本文将详细介绍 iOS 推送消息的工作机制、证书生成过程和工程代码实现。 一、iOS 推送...