iOS7.1以后企业应用发布需要HTTPS协议,解决步骤(经典正确版,测试通过版)

本文主要是介绍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.p12tomcat配置用)、server.jkstomcat配置用)、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->安装证书->下一步->选择”将所有的证书放入下列存储”->浏览选择“受信任的根证书颁发机构”->剩下的一路点“是”即可。


附件:
附件index.txt和serial
iOS移动终端代码:
     

这篇关于iOS7.1以后企业应用发布需要HTTPS协议,解决步骤(经典正确版,测试通过版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

全面解析Golang 中的 Gorilla CORS 中间件正确用法

《全面解析Golang中的GorillaCORS中间件正确用法》Golang中使用gorilla/mux路由器配合rs/cors中间件库可以优雅地解决这个问题,然而,很多人刚开始使用时会遇到配... 目录如何让 golang 中的 Gorilla CORS 中间件正确工作一、基础依赖二、错误用法(很多人一开

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java