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即可安装

时间: 2024-10-06 00:36:39

HTTPS证书生成方法,也适用于APP的相关文章

HTTPS证书生成原理和部署细节

今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白用户以为是京东有意放置的,细心的用户会发现,这个 iframe 一层嵌一层的恶心广告很明显是电信/中间人通过 DNS

[svc]HTTPS证书生成原理和部署细节

参考: http://blog.csdn.net/iiiiher/article/details/72356901 今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白

前后端(支持app)RSA加密通信证书生成方法汇编

最近一个项目,处于安全上的考虑,前后端需要使用安全证书加密通信,涉及ios/android-后台交互.在测试环境上没有正式的CA证书,使用自签证书开发. 下面把生成4套环境的自签证书过程mark下,如有需要,可参考: 以下命令的执行环境均为windows-cmd界面(前提需安装jdk,使用jdk自带的keytool工具) 1.生成jks.csr证书(这俩证书暂时没用): keytool -genkey -alias *.test.com -sigalg SHA1withRSA -keyalg R

HTTPS证书生成和部署

之前写.net core时,部署https很简单(https://www.cnblogs.com/pu369/p/9953896.html) 运行   dotnet dev-certs https --trust  即可.但不太明白原理 有机会在centos7上试一试 参考: https://www.cnblogs.com/pzblog/p/9088286.html https://www.cnblogs.com/liyulong1982/p/6106129.html https://blog.

https证书的验证过程与生成方法

1.简洁的解释: 1.服务器 用RSA生成公钥和私钥2.把公钥放在证书里发送给客户端,私钥自己保存3.客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产生一段随机数,这个随机数就作为通信的密钥,我们称之为对称密钥,用公钥加密这段随机数,然后发送到服务器4.服务器用密钥解密获取对称密钥,然后,双方就已对称密钥进行加密解密通信了PS:非对称的RSA加密性能是非常低的,原因在于寻找大素数.大数计算.数据分割需要耗费很多的CPU周期,所以一般的HTTPS连接只在第一次握手时使用非对称加

免费生成https证书以及配置

http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案 第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务 //确定是否安装openssl which openssl //如果没有安装,通过apt-get或者yum等方式安装即可 sudo apt-get install openssl //生成一个名为“ssl.key”的 RSA key文件:执行结果:生成ssl.pass.key 和 ssl.key openssl genrsa -des

生成 Let&#39;s Encrypt 免费https证书

1.打开 SSL For Free 官网:https://www.sslforfree.com/ 2.在输入框内输入你要申请证书的域名,输入完点击 Create Free SSL Certificate 3.如果你是申请的是一级域名直接输入你的域名即可不用加 WWW 系统会自动给你申请带WWW和不带WWW的域名 4.域名输入完后系统会提示你要验证你的域名使用权,提供3种验证方式: a.Automatic FTP Verification (FTP账户验证,输入你对应网站的FTP信息,系统会上传一

jdk生成https证书

最近由于客户现场做"等保",其中有一条要求我们必须使用https进行web端的请求,之前我们一直沿用的是默认的http请求,用户说不安全,唉~~局域网,一直强调安全,安全,话不多说了 我采用的使用JAVA自带的keytool生成证书,但是该方法生成的证书不是有效证书,不被浏览器信任,如果是被信任的站点,浏览器左侧会有个绿色的图标,但是这种方法简单,本地就可以轻松测试. 要想使用https,首先,我们需要有SSL证书,证书可以通过两个渠道获得: 公开可信认证机构例如CA,但是申请一般是收

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端