ios下(个人公司非企业级)AdHoc在线安装全环境配置

2023-10-22 00:18

本文主要是介绍ios下(个人公司非企业级)AdHoc在线安装全环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1,环境

客户端开发:MacOs 10.8.5

服务器开发:Centos6.3 64位

2,软件准备(下方带链接)

Apache httpd 2.2.27

OpenSSL 0.9.8za

3,客户端准备

Apple的开发者账号大致分如下三类:个人,公司,企业,这一篇我们主要说下个人、公司的ipa在线安装。个人公司级别的AdHoc有这样一个限制:就是在线发布的ipa包只能安装

在添加到Apple账号的Devices列表中(发布IPA之后再添加的设备需要重新打IPA包)的非越狱设备及越狱设备中,而企业级的开发者账号则没有这样的限制。

首先在Xcode中我们把需要上传的IPA打包出来,大致流程如下:




这一步需要将后续存放ipa的服务器路径提前写好, 会保存在对应的plist中。


保存之后应该会生成对应的ipa和plist文件,客户端的准备导致完成。so easy!

4,服务器准备

a)安装openssl

解压步骤2中下载的openssl包并安装

tar zxvf openssl-0.9.8za.tar.gz
cd openssl-0.9.8za
./config
make
make install
#tar zxvf httpd-2.2.27.tar.gz
cd httpd-2.2.27
./configure --prefix=/usr/local/apache/httpd --enable-ssl=static --with-ssl=/usr/local/ssl
make
make install

这里将最新OpenSSL安装到/usr/local/ssl中, 不用理会系统中的OpenSSL版本, 也不用去卸载否则可能会引起其他应用的错误。

b)安装Apache httpd

修改/usr/local/apache/httpd/conf/httpd.conf中

#Include conf/extra/httpd-ssl.conf 去掉前面的#

在/usr/local/apache/httpd 下执行./bin/apachectl start 尝试启动apache,因为开启了ssl所以启动会失败提示外面要配置证书。

c)生成证书

在/usr/local/apache/httpd/新建ssl目录,用于保存新建的证书文件。然后cd ssl

(1)用openssl选择rsa非对称算法和des3对称加密算法来制作CA证书:

openssl genrsa -des3 -out my-ca.key 2048
上面会生成一个密钥长度2048位的密钥,,保存在my-ca.key文件中,这个文件会要求你输入个密码,这个密码后面用到这个文件时都会用到。

(2)然后使用x509标准签署证书

openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt
上面这步生成了有效期10年的CA证书文件 my-ca.crt,这个过程会让你填一些基本信息,比如国家城市,公司名,网站名等等,因为是自签署,随便填就行了。

(3)现在有了CA证书了,就可以用它来为我们的网站颁发ssl证书了。同制作CA证书一样,我们需要先为服务器生成密钥对

openssl genrsa -des3 -out mars-server.key 2048

(4)生成了密钥mars-server.key后,根据它生成csr证书文件

openssl req -new -key mars-server.key -out mars-server.csr

执行上述命令时同样要输入一些基本信息,这里面要注意了Common Name的值要和你的域名一致,否则后面客户端浏览器验证域名不正确会不通过的。这里我是局域网就填了局域网的ip,如果10.21.122.22, 因此如果你的局域网的主机的ip变了的话,就需要重新颁发下证书了。所以建议直接在路由或交换上把你的主机设置为固定ip.

(5)下面就用CA证书来签署服务器证书了

openssl x509 -req -in mars-server.csr -out mars-server.crt -sha1 -CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 3650

到这里,我们所需要的证书就完全做成了。下面需要做的就是部署到Apache里面了。

(6)生成mars-server.key的过程中,可能对这个文件设置了密码,如果直接部署,那么以后启动apache的时候都要输入这个密码,但是一般我们都开机自动启动apache,手动启动多麻烦啊,可以把这个文件转换一下,省去输入密码步骤:

openssl rsa -in mars-server.key -out mars-server.key.insecure

d)Apache中配置证书
创建一个目录放证书文件,如放在/etc/apache2/ssl下,包括3个文件,分别是:my-ca.crt mars-server.crt mars-server.key.

修改/usr/local/apache/httpd/conf/extra/httpd-ssl.conf如下:

httpsSSLEngine On
SSLCertificateFile /usr/local/apache/httpd/ssl/mars-server.crt
SSLCertificateKeyFile /usr/local/apache/httpd/ssl/mars-server.key.insecure
SSLCACertificateFile /usr/local/apache/httpd/ssl/my-ca.crt

切换到/usr/local/apache/httpd目录下启动服务器:

./bin/apache/apachectl start

浏览器中试试https://localhost/是不是可以访问了~~

e)配置https下载相关

环境配置好之后就简单了, 只需要把待下载的资源放到指定目录, 并修改https的根目录下的index.html添加两个下载的链接,简单index.html如下,各位可以自由发挥:

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><a href="https://XXXXXX/my-ca.crt">下载前请安装此证书</a><a href="itms-services://?action=download-manifest&url=https://XXXXXX/test.plist">下载ios测试客户端test</a></body></html>

移动上述步骤创建的index.html、ipa、plist及ssl文件夹中的my-ca.crt到/usr/local/apache/httpd/htdocs目录下,即可正常在线安装。

注意:

1,第一次访问网站进行在线安装的设备需要先安装ssl证书,也就是上述创建的my-ca.crt才可以正常安装ipa,后续再研究下是否可以省略这一步。

2,为了兼容ios7.1上述index.html中items-services://中请使用https

这篇关于ios下(个人公司非企业级)AdHoc在线安装全环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/257864

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H