HTTPS证书生成方法,也适用于APP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS证书生成方法,也适用于APP相关的知识,希望对你有一定的参考价值。
步骤:
一、登录服务器,创建ioscert目录
cd ~/servers/APP
mkdir ioscert
二、cd到ioscert目录下,执行以下命令:
1、openssl genrsa -out server.key 1024
2、openssl req -new -out server.csr -key server.key
Common Name的值必须是你的服务器ip;organizationName要记得填写内容,这个值要与第4步中organizationName值一致。
3、openssl genrsa -out ca.key 1024
4、openssl req -new -x509 -days 365 -key ca.key -out ca.crt
填写的内容和第二步一致即可,其中organizationName必须和第二步的一致
5、创建CA目录,在CA目录下创建文件index.txt、serial文件以及newcerts目录,serial内容为01,index.txt为空。
6、openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
如果在执行第6步的时候出现如下问题(当前系统用户非root,且操作权限不足时)
NVMBD1BJI090V01-esapp%openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
Using configuration from /etc/pki/tls/openssl.cnf
I am unable to access the /etc/pki/CA/newcerts directory
/etc/pki/CA/newcerts: Permission denied
解决办法:
1.将/etc/pki/tls/openssl.cnf 拷贝至待生成CA文件的路径下,例如/home/esapp/servers/APP/ioscert/
2.修改openssl.cnf文件,将[ CA_default ]dir属性改为CA文件路径下的CA路径,例如/home/esapp/servers/APP/ioscert/CA
3.在CA文件的路径下执行命令,openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
7、openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 密码使用上面输入的密码“123456”。
8、java -cp jetty5.1.10.jar org.mortbay.util.PKCS12Import server.p12 server.jks
如果出现错误:说明你的jetty-5.1.10.jar没有复制到命令行的当前文件夹下。
三、修改server.xml文件,设置port和server.p12、server.jks的路径
添加线程管理:
<Executor name="webcontainerThreadPoolapp" namePrefix="WebContainer-" maxThreads="50" minSpareThreads="40" />
追加:
<Connector executor="webcontainerThreadPoolapp" port="9999" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" enableLookups="false" backlog="2000" acceptCount="4096" server="mapp" SSLEnabled="true" scheme="https" secure="true" useBodyEncodingForURI="true" maxHttpHeaderSize="16384" keystoreFile="/disk2/appweb/servers/APP/ioscert/server.p12" keystorePass="123456" keystoreType="PKCS12" clientAuth="false" sslProtocol="TLS" truststoreFile="/disk2/appweb/servers/APP/ioscert/server.jks" truststorePass="123456" truststoreType="JKS" />
四、在Ipad上安装ca.crt
可通过email方式,把ca.crt通过A email发到B email,然后在ipad上登录B email,点击附件中的ca.crt即可安装
以上是关于HTTPS证书生成方法,也适用于APP的主要内容,如果未能解决你的问题,请参考以下文章