kinila 发表于 2017-2-28 11:57:08

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即可安装
页: [1]
查看完整版本: HTTPS证书生成方法,也适用于APP