一、制作SSL证书
a)根证书制作
1.创建制作根证书的私钥文件myCA.key
openssl genrsa -out /usr/local/myCA.key 2048
2.创建根证书myCA.cer,机构名称为avcon.com.cn
openssl req -new -x509 -key /usr/local/myCA.key -out /usr/local/myCA.cer -days 730 –subj /CN="avcon.com.cn"
b)创建自签名SSL证书(叶证书)
1.创建一个私钥server.key
openssl genrsa -out /usr/local/server.key 2048
2.创建CSR,服务器ip地址如:192.168.0.206,输出文件为server.req
openssl req -new -out /usr/local/server.req -key /usr/local/server.key -subj /CN=192.168.0.206
3.用CSR去创建SSL证书,有效期为10年,输出文件为server.cer,序号文件为server.serial(撤销证书时使用)
openssl x509 -req -in /usr/local/server.req -out /usr/local/server.cer -CAkey /usr/local/myCA.key -CA /usr/local/myCA.cer -days 3650 -CAcreateserial -CAserial /usr/local/server.serial
4.将.key 和.cer 文件导出为.p12 证书,需要输入两次证书密码。这里我们假设密码为123456。输出文件名为server.p12
openssl pkcs12 -export -in /usr/local/server.cer -inkey /usr/local/server.key -out /usr/local/server.p12 -name "server"
5.用keytool将.p12 文件导入到java keystore 中,这里srcstorepass后面的123456为server.p12的密码,deststorepass后的12356为keystore的密码
./keytool -importkeystore -v -srckeystore /usr/local/server.p12 -srcstoretype pkcs12 -srcstorepass 123456 -destkeystore /usr/local/server.keystore -deststoretype jks -deststorepass 123456
二、SSL证书tomcate部署
1.修改tomcate配置文件server.xml:
定位到tomcat的安装目录,找到conf下的server.xml文件,找到如下已经被注释的代码:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
去掉注释修改为:
<Connector SSLEnabled="true" protocol="HTTP/1.1"
scheme="https" secure="true" sslProtocol="TLS"
keystoreFile="/usr/local/server.keystore" keystorePass="123456"
maxThreads="150" port="8443" clientAuth="false"
/>
三、下载文件格式支持配置
1.修改项目web.xml配置文件
<!-- ipa 下载 配置 -->
<mime-mapping>
<extension>ipa</extension>
<mime-type>application/vnd.iphone</mime-type>
</mime-mapping>
<!--CAB 下载 配置 -->
<mime-mapping>
<extension>cab</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<!-- cab 下载 配置 -->
<mime-mapping>
<extension>CAB</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<!-- apk 下载 配置 -->
<mime-mapping>
<extension>apk</extension>
<mime-type>application/vnd.android.package-archive</mime-type>
</mime-mapping>
四、修改.plist文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://192.168.0.206:8443/AvconDownload/AvconConferenceHDs.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.avcon.AVCONConference</string>
<key>bundle-version</key>
<string>1.1.4</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>AvconConference6.3</string>
</dict>
</dict>
</array>
</dict>
</plist>
将所有提供服务连接地址改成对应证书生成的地址
注意:.plist文件中的url配置必须为SSL证书的使用者信息如上面配的是192.168.0.206
对应端口开放:8080,8443
五、提供客户端证书下载安装
1.将根证书myCA.cer放到项目下提供下载
webapps/testproject/myCA.cer
2.启动服务
六、iphone、ipad(ios7.0以上版本需要)手机客户端安装SSL根证书
安装方式:
方法一:浏览器直接安装
http://192.168.0.206:8080/testproject/myCA.cer
方法二:可以将myCA.cer证书以邮件的方式发送到手机,通过附件方式安装(需要用手机自带的邮件系统)
查看证书是否是受信任的,如果是,恭喜你安装成功
1.http://192.168.0.206:8080/testproject/myCA.cer
2.双击证书,点安装证书进入点下一步 ,将证书导入到受信任的根证书颁发机构安装
3.在电脑上访问https对应web地址如:https://192.168.0.206:8443
注意:.plist文件中的url配置必须为SSL证书的使用者信息如上面配的是192.168.0.206
对应端口开放:8080,8443