iOS7.1以后企业应用发布需要HTTPS协议,解决步骤(经典正确版,测试通过版)
2015-02-04 00:50
387 查看
操作系统是Window下。
2、安装JDK6(1.6.0_10-rc2,其它版本没测试)
3、安装openssl
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设备下载安装)。
注意: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移动终端代码:
第一步安装软件
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"/> |
我的工程是发布到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协议,解决步骤
- iOS7.1以后企业应用发布需要HTTPS协议,解决步骤(加了五、六步)
- iOS7.1以后企业应用发布需要HTTPS协议,解决步骤
- IOS7.1以后企业应用发布强制需要HTTPS协议
- IOS7.1以后企业应用发布强制需要HTTPS协议
- IOS7.1以后企业应用发布强制需要HTTPS协议
- IOS7.1以后企业应用发布强制需要HTTPS协议
- IOS7.1以后企业应用发布强制需要HTTPS协议
- iOS7.1 企业应用https发布的解决方法(opendrive云盘取代dropbox)
- 企业内网通过itms-services(https)协议安装IOS应用
- 2014 苹果企业账号申请 和 企业APP发布流程 附带解决ios7.1的https的问题.
- iOS7.1及以后版本企业应用发布过程中的问题及解决方案
- 用tomcat配置https自签名证书,解决 ios7.1以上系统, 苹果inHouse发布
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 关于IOS7.1企业版发布后,用户通过sarafi浏览器安装无效的解决方案:
- 利用 itms-services 协议,通过网站来发布ipa应用的一些问题
- 通过 itms-services 协议,发布企业app。最近关于使用git.oschina.net连接不上的问题
- Xcode6以后如何用企业证书发布应用
- IOS7.1 企业应用 证书无效 已解决
- iOS7.1 企业级https发布解决办法