苹果ios企业签名证书IDG申请方法

栏目:ios企业签名 时间:2019-03-11 11:45 作者:admin
苹果ios企业签名证书IDG申请方法
苹果ios企业签名证书IDG申请方法企业版IDP的申请及“In House”发布

企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。 

这种方式的IDP其最大的好处在于:可以发布“In House”应用。 

首先要明确否需申请企业证书,毕竟申请证书的时间非常长,其次还要有跨国公司的资质不然基本申请不笑来。

如公司为了节省时间及费用也可以在第三方https://www.ken74.com代签名,代签名的优势在于可以缩短时间周期,弊端是可能会增加一部分财务支出

什么是企业级发布

这种应用使用一种叫做“In House Distribution Provisioning Profile”的文件进行发布,不能发布到Apple Shop进行销售,也不需要经过Apple的评审。你可以把“In House”应用通过任何方式发布给你的企业员工、用户及其他你认可的任何人,尤其适合于企业应用的开发。 

申请企业级认证步骤

网上关于个人版/公司版IDP申请流程,以及将应用发布到苹果商店的介绍有很多,但关于企业版IDP以及In House应用的讨论非常之少(尤其国内)。下面,笔者将对这两方面的问题进行一个全面细致的介绍。 

1、申请Apple ID 

这个步骤就不说了。 

2、申请邓白氏编码 

邓氏编码是美国联邦政府推荐使用的企业机构编码。可以看成是美国版的“组织机构代码”,只不过已经得到了联合国、澳大利亚政府、欧盟及美国政府的承认,成为了全球企业标准。 

苹果公司需要邓氏编码才能申请IDP企业版。这倒不是对国内企业的歧视,而是出于的美国商业习惯。在美国所有的采购合同和商业合同中,都会要求供应商提供一个DUNS(邓氏编码),否则对方可能不会跟你签合同。因为所有的美国企业都使用D&B公司的数据库,这样才能保证所有企业编码不会重复。 

申请邓氏编码在D&B即可: 

中文网站“华夏邓白氏”: 

在网站上提交注册申请后,等待1-2天,对方人员会跟你联系(Email)。 

原来以为申请会很麻烦(交流上),但实际上是由华夏邓白氏的中籍文员跟你联系的。 

邓白氏注册服务有几个版本,收费情况也不一样。笔者一开始收到的邮件是“实地核实”的版本,报价15200/2年。 

后来经与北京苹果联系,只需要购买最基本的“标准版”即可,报价8600元/2年。 

联系时一定要强调是购买标准版服务(最便宜),否则你可能会花冤枉钱。 

收到邮件后,把申请表、协议打印出来,填好并加盖公章,然后加上企业营业执照副本、扫描为电子的,发给对方邮箱。 

其实还有一个就是汇款水单(小票),需要发送给对方。这一步其实可以省略。笔者申请时并没有email汇款水单 ,只要对方确认汇款到帐即可。 

大约5-7天后,对方发来第2封邮件,告诉你贵公司的编码。此外还可以在网站上安装一个邓白氏电子标识——在网页上嵌入指定脚本,则会在页面上显示一个D&B图标,点击图标自动链接到D&B的网站并呈现你们公司的电子注册信息。 

3、申请IDP企业版 

登录苹果开发者网站iOS Dev Center,申请Apple Developer Program,只不过这次选择的是iOS Enterprise Program链接(在页面底部)。 

点击Apply Now,下一页Continue,下一页选择“Use an existing Apple ID”,Continue。 

下一页,输入你的Apple ID、密码登录。 

后面就是确认注册协议和填写你的公司资料了(英文)。内容最好同邓氏的一样,否则对方会打电话来确认,需要更改。 

填写完公司资料,还要填写委托人联系资料。注意委托人应该有代表公司签字的授权(公司认可,他们会在电话里确认)。 

提交资料后,可以在邮箱里收到苹果的邮件,内容大概是感谢你提交了申请,申请的编号是多少,公司名称、邮箱地址等等,如果你想看评审流程,可以登录Member Center。 

接下来就是等待苹果的电话了。 

这个过程大概要2-3天,对方会安排懂中文的人员来电话,如果没什么问题,接下来(电话之后几分钟)会收到苹果的第2封邮件,大意是要你点击邮件中的链接,查看一个协议(我不知道这个协议和第1个协议有什么不同,反正我直接点同意了)。 

协议同意后,显示一个页面,大意是你所申请的国家不支持在线购买苹果产品(在线支付),需要你下载一个pdf的purchase form: 

将它打印出来,根据要求填好,然后传真给苹果。 

注意,国内信用卡支持美元支付的一般是Visa卡(如招行)和Master卡(如交行),一定要找那种卡上印有“Visa”或”Master”标志的信用卡。 

Cvc2 code是指信用卡背面的那串数字(7位)的末3位。 

信用卡地址写申请信用卡时登记的地址。 

因为公司的传真机无法发送国际传真,我将purchase form扫描后发给了亚洲苹果 chinadev@asia.apple.com , 请其转交给 Billing团队。 

亚洲苹果几分钟后自动回复了一封邮件,并在信中附了一个业务流水号: Follow-Up: 149653 xxx 

下次再给亚洲苹果联系时,可以附上这个业务流水号。 

然后3-5个工作日后,约早上6点多收到扣费成功短信(信用卡提供的功能)。登录邮箱后,果然收到了苹果的2封email,1封是发票,上面有你的发票号码,单位报账的时候把这封邮件内容打印出来就可以了。另1封是激活邮件,告诉你现在你的idp帐号已经生效了,你点击那个“login now”按钮可以登录到member center,这时可以看到你的developer program overview的状态已经改变。同时,Peoples中会包含一个成员,这个成员就是你注册IDP时所绑定的开发者帐号(Apple ID),同时也是该IDP的Team Admin或Agent。 

4、制作iOS 开发者证书 

4.1 在本机生成证书请求CSR 

打开“钥匙串”应用程序,修改偏好设置如下图所示: 

选择菜单“钥匙串访问 -> 证书助理-> 从证书颁发机构求证书”. 

注意,如果此时密钥中的某个私钥处于选中状态,则菜单会变为“钥匙串访问->证书助理->用<私钥>从证书颁发机构求证书”,这样制作出来的CSR是无效的。 

输入你的email地址和名字。确保email地址和名字与你注册为iOS开发者时登记的相一致。 

勾选Saved to Disk(保存到磁盘)及Let me specify key pair information(指定密钥对信息),然后点Continue。 

当选择了Let me specify key pair之后,会要求你指定文件保存位置。接下来按下图所示指定密钥对信息: 

Continue,即生成了CSR文件。一旦生成CSR,在“登录”钥匙串中会生成一对密钥对(一个私钥,一个公钥)。你可以在钥匙串的密钥栏中查看。 

4.2提交CSR文件 

用企业版IDP绑定的Apple ID( 跟制作CSR时要求输的的可能不一致,这里是注册企业版时绑定的iOS开发者帐号,即Agent)登录iOS Provision Portal 。 

 

点击“Certificates-> Development”中的“Add Certificate”按钮。 

接下来点击最下面的“Choose file”按钮,选择所生成的CSR文件,然后点 “Submit”。如果密钥长度未设置未2048,Portal会拒绝CSR。 

提交CSR后,Team管理员(Agent)会收到一封提醒邮件,主题为Certificate Request Requires Your Approval,提示你需要去同意该CSR。此时Agent需要登录Portal去同意该CSR。但实际上,Agent也可能根本不需要去点“同意”,Portal几秒钟后就自动同意了——笔者遇到的情况就是这样的。 

4.3 下载并安装开发者证书 

如果机器上未安装WWDR证书,请点击“Certificate-> Distribution”中的链接“Saved Linked File to Downloads”,以下载WWDR证书,并通过双击WWDR证书进行安装。 

在“Certificate -> Development”中, 在Your Certificate下会列出当前有效的开发者证书。 点击“Download”,即可下载到本机。下载后双击,即可安装到本机。可以在钥匙串“证书”一栏中查看到导入的开发证书。 

  Team 成员只能下载自己的iOS开发证书。Team管理员有权下载所有成员的公有证书。苹果不接受CSR中的私钥。私钥仅对创建者有效,并且必须存储在系统钥匙串里。 

4.4   保存私钥并迁移到其他系统 

如果你在多台电脑上进行开发或者重装系统,那么把私钥存储在安全的地方是件很重要的事情。如果没有私钥,你无法在Xcode中签名代码并进行真机调试。 

钥匙串在生成CSR时,就会在“登录”钥匙串中创建一个私钥。该私钥和你的用户帐号绑定,如果重装OS导致该私钥遗失,则该私钥无法再次生成。如果你想在多台电脑上开发和调试,你必须将私钥导入到每一台机器上: 

在钥匙串访问程序中,选择登录钥匙串的“密钥”。可以看到有许多密钥对,选择与你的开发者证书相对应的私钥(还记得创建CSR时要你输入的邮箱地址和名字吗?那个名字会显示在私钥的名字上)。然后选择菜单“文件->导出项目…”,将私钥保存为.p12格式(Personal Information Exchange)。当提示输入密码时,设置一个密码并记住它,它会在导入.p12文件时使用。现住,你可以把.p12文件拷贝到其他机器上并双击它进行安装,这时会提示你输入导出私钥时设置的密码。 

5、设备IDs 

所谓设备ID(device ID又称UDID)是Apple设备上的40位16进制码,每台Apple设备的device ID都是唯一的,Apple以此来识别不同的iOS设备。 

我们通过在Provision Portal中录入设备的device ID,可以允许开发者在指定真实设备上进行调试。在Provision Portal中最多允许输入100个device ID。 

因此,录入device ID是后续制作Provision Profile的必需步骤(而Provision Profile又是真机调试的必需步骤)。 

5.1获取device ID 

两种获取device ID的方式: 

把Apple设备(iPhone,iPod)连接电脑,打开Xcode的Orgnizer: 

把Apple设备(iPhone,iPod)连接电脑,打开iTunes: 

那个40位16进制的数字就是device ID。 

5.2添加单个device ID 

以Team管理员登录Provision Portal,点击Devices页面中的“Add Device”按钮,在其中输入: 

Device Name:设备名称,输入一个描述该设备的名字。 

UDID:即device ID。 

点击提交即可。 

6、创建App ID 

App ID是识别不同应用程序的唯一编码。如果你的程序要连接Apple Push Notification服务(一种push通知),需要用到App ID。如果应用程序之间要共享钥匙串数据,也会用到App ID。总之,App ID在iOS设备上大量被使用。在这里App ID的最大用处是制作真机调试用的Provision Profile(它需要提供一个App ID)。 

一个App ID有两部分构成:一个10位字符的Bundle Seed ID前缀,这个Bundle Seed ID由Apple分配,全球唯一,保证不会重复;一个Bundle Identifier后缀,这个Bundle Identifier由Team管理员指派,Apple建议用反域名规则命名这个Bundle Identifier。例如:8E549T7128.com.apple.AddressBook. 

如果你写了一系列应用程序,它们共用相同的钥匙串(如共用密码),或者根本就不使用钥匙串访问,你可以只创建一个App ID,所有的应用程序都使用以星号结尾的App ID。这个星号就是通配符,只能用于App ID最后一个字符。例如,这个App ID可以是:R2T24EVAEE.com.domainname.* 或者 R2T24EVAEE.* 

6.1创建App ID 

以Agent或Team管理员登录Provision Portal,点击“App ID”页面中的“New App ID”按钮。 

App ID Name:给这个App ID一个名字。如果存在多个App ID,每个App ID需要一个易于识别的名称。 

App ID:如前面所述,Bundle Seed ID是Apple分配的,其实这里只需要你输入Bundle Identifier。可以使用统配符*。 

7、制作开发者Provision Profile 

拥有了开发者证书(Development Certificate),只是表明你有权利在电脑上进行开发,在模拟器上运行程序,但你还不能在iPhone上运行你开发的程序。其实如果你只是在模拟器上调试程序的话,要不要开发者证书都无所谓,因为证书只是用来代码签名(Code Sign)的,如果在模拟器上跑的话,你可以选择不签名(don’t code sign)。 

如果要在真机上调试就不一样了。它需要一个Provision Profile,没有这个Provision Profile,苹果设备无法安装运行你开发的程序。这个Provision Profile中记录了一些信息:开发者证书、开发者Apple ID、一系列设备ID(开发者可以使用哪几部设备进行调试)。 

7.1创建开发者Provision Profile 

以Agent登录Provision Portal,在“Provisioning->Development”,点击“New Profile”按钮。 

Profile Name:输入Profile的名字,随意。 

Certificate:选择开发者证书。 

App ID:选择一个App ID。 

Devices:设备ID列表。 

 

点击“Submit”,即会生成Development Provisioning Profile。


7x24小时 在线咨询
LINKS友情链接