IOS—超详细的企业证书无线分发

笔者不久前刚做完企业证书的无线分发打包,无线分发确实要比其他的打包上架的流程要麻烦些,不过也不算太难,结合项目,总结下经验吧,也让后面的朋友们少踩些坑。

首先说明一下,我们公司没得企业账号(不是因为买不起,而是申请了很多次都不让过,看来苹果是把企业证书收紧了...),所以这次无线分发的证书是用的别的公司的企业证书,考虑到这一点,我们首先就拿不到企业证书的账号和密码,别人也不会给你,所以这次开发我用的是拥有企业证书的公司,打包给我的一个 P12证书(具体什么是p12,这里就不做详细阐述了)和一个PROV文件


IOS—超详细的企业证书无线分发_第1张图片
1.png

然后双击P12文件,就可以把里面的证书导入你mac电脑的钥匙串,成功以后,能在钥匙串看到开发证书,顺便提一下 P12证书是可以加密的,如果加了密,就要按提示输入密码,如果没有加密,直接点击 “好” 就可以导入证书了。然后用Xcode打开你要打包的工程,再双击PROV文件,把它导入工程中,这样,打包所需要的外部文件就全部准备好了,好了,现在开始打包吧。

第一步,进入工程 ->targets->general ,进行配置
如下图所示,选择team时,由于我没有企业账号,这里不勾选Automatically manage signing,下面的选择release(做发布配置)这一栏,导入PROV文件


IOS—超详细的企业证书无线分发_第2张图片
2.png

第二步,进入工程->targets->buld settings->输入sign,进行下面相关配置,如果发布只需要配置release相关即可

IOS—超详细的企业证书无线分发_第3张图片
3.png

第三步,点击工程 停止⏹ 右边的项目名称,选择edit scheme 进行配置,把相关信息改成release(发布)我当时为了保险起见,能改的我都改了,其实我想应该不用把,改下打包对应的那个应该就可以了

IOS—超详细的企业证书无线分发_第4张图片
5.png

第四步,准备工作完成,开始打包,打包前,在选择模拟器型号的位置,选择“真机”(如果你的手机正连着电脑)或者generic ios Device,选择完成后,点击product->Archive开始打包

IOS—超详细的企业证书无线分发_第5张图片
6.png

第五步,好了,我们要用的包 Xcode 已经帮我打好了,现在要导出安装包,选择export

IOS—超详细的企业证书无线分发_第6张图片

然后选择如下图所示第三个选项:企业打包不上架appStore


IOS—超详细的企业证书无线分发_第7张图片
8.png

next->下一步,选择你的开发证书。
这里会出现一些问题:如果你的APPID不是企业账号里面的成员,这里就不会显示开发证书,而是会出现你让你输入企业证书的账号密码的选项,这个我之前也解释过来,企业证书对一个企业是很重要的,别人是不会告知我们公司他们的账号和密码,所以,这个时候,我们公司要求将我自己的个人appid加入到他们企业账号中去,他们会发出一个邀请邮件到你的苹果邮箱,然后你再有效期内接受就行了,再次进入,你就会看见开发证书的选项。
值得一提的是,如果你的Xcode中记录了任何一个企业账号,不管是谁的,你不需要成为当前企业账号的一员,同样可以打包成功。
选择“Use local signing assets” ,如果你的Xcode中有任何企业账号,都可以进行下一步,打包成功。

IOS—超详细的企业证书无线分发_第8张图片
9.png

next->下一步,选择分发给所有的设备。

IOS—超详细的企业证书无线分发_第9张图片
10.png

next->这里要注意的事,不上架的app 要做无线分发,必须勾选下图箭头所示的选项,这样在打包完成后才会顺便生成一个plist的文件,这个plist文件就包含你的安装包所放置的服务器的地址,用户在检测到版本更新或者下载时,其实先是下载那个plist文件,然后苹果会提示你“是否前往app store 下载”,但实际上你的app 根本不在app store上,单后你点击确定,它就跳到app所在外部服务器进行下载了。


IOS—超详细的企业证书无线分发_第10张图片
11.png

next->这里还要选择一次证书,但是上次笔者弄到这里的时候
next->这里是最后一步,也是最麻烦的地方,要填三个东西,分别是app存放的服务器地址,后面分别是两张图片(后面的图片的地址可以随便填,到时候生成plist文件以后,进去把它删掉就行了,但是如果你准备了图片,就放上去就行了)。这里主要说下第一个,首先,必须是https的网络协议,也就是必须是https开头的服务器地址。而https又必须要要使用ssl协议,就必须要制作SSL证书,按理说到了这里其实也就没我们IOS开发人员的什么事了。但我还是简单的说一下吧


IOS—超详细的企业证书无线分发_第11张图片
12.png

SSL相关:
一、ssl的作用:
  1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2)加密数据以防止数据中途被窃取;
  3)维护数据的完整性,确保数据在传输过程中不被改变。

而ssl证书指的是在ssl通信中验证通信双方身份的数字文件,一般分为服务器证书和客户端证书,我们通常说的ssl证书主要指服务器ssl证书。ssl证书由受信任的数字证书颁发机构CA(如沃通WoSign),在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。分为扩展验证型EV ssl证书、组织验证型OV ssl证书、和域名验证型DV ssl证书。
二【ssl证书申请的3个主要步骤】
1、制作CSR文件
所谓CSR就是由申请人制作的Certificate Secure Request证书请求文件。制作过程中,系统会产生2个密钥,一个是公钥就是这个CSR文件,另外一个是私钥,存放在服务器上。要制作CSR文件,申请人可以参考WEB SERVER的文档,一般APACHE等,使用OPENssl命令行来生成KEY+CSR2个文件,Tomcat,JBoss,Resin等使用KEYTOOL来生成JKS和CSR文件,IIS通过向导建立一个挂起的请求和一个CSR文件。

2、CA认证
将CSR提交给CA,CA一般有2种认证方式:
  1)域名认证:一般通过对管理员邮箱认证的方式,这种方式认证速度快,但是签发的证书中没有企业的名称;
  2)企业文档认证:需要提供企业的营业执照。
  也有需要同时认证以上2种方式的证书,叫EV ssl证书,这种证书可以使IE7以上的浏览器地址栏变成绿色,所以认证也最严格。

3、证书安装
在收到CA的证书后,可以将证书部署上服务器,一般APACHE文件直接将KEY+CER复制到文件上,然后修改httpD.CONF文件;TOMCAT等,需要将CA签发的证书CER文件导入JKS文件后,复制上服务器,然后修改SERVER.XML;IIS需要处理挂起的请求,将CER文件导入。
使用ssl证书不仅能让信息的安全性更有保障,还可以提高用户对于网站的信任度。但鉴于对建站成本的考虑,很多站长对其望而却步。在网络上免费始终是一个永远不过时的市场,主机空间有免费的,而ssl证书自然也有免费的,此前,便有消息称,Mozilla、思科、Akamai、IdenTrust、EFF、以及密歇根大学的研究人员将开启Let’s Encrypt CA项目,计划从今夏开始,为网站提供免费ssl证书以及证书管理服务(注:如需更高级的复杂证书,则需付费)。另外,沃通wosign目前已经推出了3年期的多域名免费ssl证书,证书到期后可以免费续期,支持绑定多个域名、支持证书状态在线查询协议(OCSP)、支持中文、全球浏览器信任,任何个人都可以从沃通CA申请到免费的ssl证书,只要你有网站。
而需要高级别ssl 证书的往往是大中型网站,如网上银行、购物网站、金融证券、政府机构等,诸如个人博客之类的小型站点完全可以先尝试免费ssl证书。
从商业机构到政府部门再到个人家庭,越来越多的用户使用网络来处理事务,交流信息和进行交易活动,这些都不可避免地涉及到网络安全问题,尤其是认证和加密问题。特别是在网上进行购物交易活动中,必须保证交易双方能够互相确认身份,安全地传输敏感信息,事后不能否认交易行为,同时还要防止他人截获篡改宝贵信息或假冒交易方。那么,我们该如何提高站点信息的安全性呢?目前最简单的解决方案就是利用ssl安全技术来实现WEB的安全访问。

你可能感兴趣的:(IOS—超详细的企业证书无线分发)