HTTPS证书生成方法,也适用于APP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS证书生成方法,也适用于APP相关的知识,希望对你有一定的参考价值。

步骤:

一、登录服务器,创建ioscert目录

cd ~/servers/APP

mkdir ioscert

 

二、cdioscert目录下,执行以下命令:

1openssl genrsa -out server.key 1024

2openssl req -new -out server.csr -key server.key  

Common Name的值必须是你的服务器iporganizationName要记得填写内容,这个值要与第4步中organizationName值一致。

3openssl genrsa  -out ca.key 1024

4openssl req -new -x509 -days 365 -key ca.key -out ca.crt

填写的内容和第二步一致即可,其中organizationName必须和第二步的一致

5、创建CA目录,在CA目录下创建文件index.txtserial文件以及newcerts目录,serial内容为01index.txt为空。

6openssl 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

7openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12  密码使用上面输入的密码“123456”。

8java -cp jetty5.1.10.jar org.mortbay.util.PKCS12Import server.p12 server.jks

如果出现错误:说明你的jetty-5.1.10.jar没有复制到命令行的当前文件夹下。

 

三、修改server.xml文件,设置portserver.p12server.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的主要内容,如果未能解决你的问题,请参考以下文章

倒腾HTTPSNginx for Docker自签名SSL证书

苹果开发者账号申请,苹果证书申请,app发布

https证书生成方法,怎么生成https证书

pmp证书能起到啥作用啊?

关于代理转发,适用于一个https证书,多个站点的情况

用openssl 和 keytool 生成 SSL证书