iOS7.1以后企业应用发布需要HTTPS协议,解决步骤

操作系统是Window下。

第一步安装软件

1、安装Tomcat6.0.35(Tomcat7.0.34测试通过)

2、安装JDK6(1.6.0_10-rc2,其它版本没测试)

3、安装openssl

第二步配置软件

1、将jdk、jre和openssl的bin目录设置到path环境变量下

第三步生成证书

1、创建一个目录,进入cmd命令行下,通过cd命令进入该目录

2、在指定的目录下运行命令:openssl genrsa -out server.key 1024生成服务器密钥文件。

如果目录下生产server.key的文件,并且文件大小不为0,则说明成功。

如果没成功,查看输出的内容中是否有提示“\usr\local\ssl\openssl.cnf”找不到的问题,如果遇到这个问题,说明你并没有按照第四步的要求将openssl设置到path中,解决的办法有2个,第一个完成第四步openssl的path设定,第二个是将openssl的bin目录下的文件“openssl.cfg”修改个名字,然后在c盘下创建“\usr\local\ssl\”目录,将文件复制进去。

3、再运行命令:openssl req -new -out server.csr -key server.key根据密钥文件生成签署文件。

其中各个设置项中,除了Common Name其它的各项都可以为空,不过为了后期你好辨别证书,最好不要设置空,其中Common
Name
的值必须是你的服务器ip或者是域名,本机测试的话可以用localhost,但是如果要通过移动设备来访问就不能设置成localhost。

4、再运行命令:openssl genrsa  -out ca.key 1024生成客户端密钥文件。

5、再运行命令:
openssl req  -new -x509 -days 365 -key ca.key -out ca.crt生成客户端的签署文件。

        
填写的内容和第三步一致即可,其中organizationName必须和第三步的一致

6、在当前目录下创建demoCA文件夹,并在demoCA下创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts

7、在命令行中输入:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key让客户端的签署证书能够被网站服务器的签署证书认识

8、运行命令openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12把服务端签署证书转换浏览器可以识别的PCS12格式,密码使用上面输入的密码“123456”。

9、运行命令java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12  server.jks使用jetty中的PKCS12Import工具类完成转换,密码同上.(jetty-5.1.10.jar需要放置到当前文件夹中)

如果出现错误:说明你的jetty-5.1.10.jar没有复制到命令行的当前文件夹下。

10、如果你好奇,可以通过命令行keytool -v -list -keystore server.jks  查看下文件的签署内容。

 以上过程总共生成7个文件,我们只关心其中的3个文件,分别是server.p12(tomcat配置用)、server.jks(tomcat配置用)、ca.crt(客户端证书,需要iOS设备下载安装)。

第四步配置Tomcat服务器

1、打开Tomcat的目录,找到conf下的server.xml文件,打开找到被注释的8443端口部分,修改成如下内容





<Connector port="8443"     
protocol="org.apache.coyote.http11.Http11Protocol"

SSLEnabled="true" 
maxThreads="150"      scheme="https"
secure="true"  clientAuth="false"

keystoreFile="D:/apache-tomcat-6.0.35/webapps/ROOT/ca/server.p12"  keystorePass="123456"
     keystoreType="PKCS12"

truststoreFile="D:/apache-tomcat-6.0.35/webapps/ROOT/ca/server.jks"  truststorePass="123456"
     truststoreType="JKS"/>

注意:keystoreFile、keystorePass为文件生成的位置和生成证书时输入的密码。

我的工程是发布到ROOT下的,需要你将几个文件同时复制到该文件下:server.p12、server.jks、ca.crt;其中server.p12、server.jks是tomcat的server.xml配置文件要用到的,而ca.crt文件是要发布出去,以供iOS设备下载安装的客户端证书

另外服务器端也需要安装server.crt证书(如果是仅仅为iOS下载应用服务,这个证书可以不安装),这个证书需要安装到受信任的根目录下。步骤如下:

双击server.crt->安装证书->下一步->选择”将所有的证书放入下列存储”->浏览选择“受信任的根证书颁发机构”->剩下的一路点“是”即可。

先关的软件,以及每个步骤的详细的页面截图和说明,请到下面地址进行下载:

http://download.csdn.net/detail/zenjamin/7341345

时间: 2024-08-23 02:59:07

iOS7.1以后企业应用发布需要HTTPS协议,解决步骤的相关文章

iOS app 企业内部发布及HTTPS服务器配置

iOS企业内部发布及HTTPS服务器配置 一:所需的条件 1. 苹果开发者证书,企业版 299$ 版本 2. ssl 证书,即https使用的服务器证书 3. web服务器,支持https 4. 一个域名,可以是子域名,绑定ssl证书和https服务器 二:大致流程 申请免费或付费ssl证书-----> 配置https web服务器------>发布企业版ios app----->配置safari浏览器安装 1: ssl证书,由于苹果最近的新要求,之前发布使用的http方式已经不行了,现

IOS7.1以后企业应用发布强制需要HTTPS协议

一.问题背景 苹果发布IOS7.1以后,企业应用发布强制需要使用HTTPS协议.需要用https协议就需要在服务器上部署SSL证书. 二.问题描述 苹果发布IOS7.1以后,用户安装app,需要使用https协议来下载plist文件,也就是说,在安装app的第一步,下载.plist文件,就需要使用https协议.https协议如下: 用户要使用https来下载.plist文件就需要企业网站支持https协议访问.企业网站如何做到支持HTTPS协议呢?只有在网站服务器上部署SSL证书才能使网站支持

iOS9要求网络使用HTTPS协议-解决办法

iOS9要求App内访问的网络必须使用HTTPS协议.原有的HTTP请求会报错,适配方法如下. 打开TARGETS-Build Phases, 添加New Run Script Phase,代码如下: # Add exception for Debug builds if [ "${CONFIGURATION}" == "Debug" ] then # Remove exception existing builds /usr/libexec/PlistBuddy

iOS 企业证书发布app 流程

企业发布app的 过程比app store 发布的简单多了,没那么多的要求,哈 但是整个工程的要求还是一样,比如各种像素的icon啊 命名规范啊等等. 下面是具体的流程 1.修改你的 bundle identifier 为你的企业的app id : 2.修改Edit scheme 3.修改为 Release 4.修改bulid setting 的code sign:为企业的 mobileprifile 5.然后 Product  archive 归档构建你的app 6.选择 distrbutio

企业证书发布app到七牛云服务

---恢复内容开始--- 最近在做企业证书发布app,从申请企业证书,到测试程序发布到七牛云存储.整了几天终于实现了,整理一下资料. 1.首先,申请企业证书. 到苹果开发网站申请企业证书 https://developer.apple.com/programs/enterprise/,填写必要的信息,公司名(英文),9位的DUNS,以及公司官方的电话(这个不要乱写).提交之后,一般2-3个工作日会收到一份苹果的电子邮件.如果是终止的邮件,会有个case number,这时给苹果技术支持打个电话,

iphone 5s ,ios 7.1 企业证书发布,无法安装,仍提示证书无效

本人对ios 不太熟悉,最新写了个ios app, 用企业证书发布,测试安装手机为iphone 5s, ios 7.1.无论是iTunes 还是在线安装都最后提示失败. 证书生成过程参考:http://blog.csdn.net/chenyong05314/article/details/38826463 签名文件 肯定没问题,profiles 也都配置了,编译参数都是选的对应签名证书,和profiles. 就是有一个Devices 添加手机UDID,这块我不太明白,是必须添加到这块的手机才能下

iOS企业应用发布教程

ios企业应用可以不经过app store发布,而可以直接在企业内部安装使用.当然,发布企业应用首先需要花$299申请成为企业开发账号.下面介绍企业开发账号如何发布企业应用: 首先,用企业账号登录apple开发者中心,点击member center,点击certificates, identifiers & profiles,进入以下界面: 选择左边菜单栏certificates下的production,然后再点击右上角的"+"按钮添加证书: 选择In house and Ad

Https协议详解

HTTP 的缺点 到现在为止,我们已了解到 HTTP 具有相当优秀和方便的一面,然而 HTTP 并非只有好的一面,事物皆具两面性,它也是有不足之处的.HTTP 主要有这些不足,例举如下. 1.通信使用明文( 不加密) , 内容可能会被窃听 2.不验证通信方的身份, 因此有可能遭遇伪装 3.无法证明报文的完整性, 所以有可能已遭篡改 这些问题不仅在 HTTP 上出现,其他未加密的协议中也会存在这类问题. 除此之外,HTTP 本身还有很多缺点.而且,还有像某些特定的 Web 服务器和特定的 Web

大型网站的 HTTPS 实践(1):HTTPS 协议和原理

转自:http://op.baidu.com/2015/04/https-s01a01/ 1 前言 百度已经于近日上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS.本文重点介绍 HTTPS 协议, 并简单介绍部署全站 HTTPS 的意义. 2 HTTPS 协议概述 HTTPS 可以认为是 HTTP + TLS.HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的. TLS 是传输层加密协议,它的前身是 SSL 协议,最早由 ne