HTTPS-Linux服务器Nginx配置、Android客户端证书生成
来源:互联网 发布:mac safari收藏网页 编辑:程序博客网 时间:2024/05/29 14:27
实现HTTPS通信:
Server端在WEB服务器Nginx 上配置Https连接,接收Https连接请求,实现Https协议。
安卓客户端加载可信证书,BKS格式证书。该证书从服务器端证书导出来。
(一) Linux服务器端配置步骤
#号表示命令引导符
1. 首先确保机器上安装了openssl和openssl-devel
#yum install openssl
#yum install openssl-devel
2. 然后就是自己颁发证书给自己
1) 切换到Nginx的配置文件目录
#cd/usr/local/nginx/conf
2) 生成RSA非对称密钥:包括公钥和私钥;参数中-des3是密钥文件的加密算法,这个生成过程中会要求操作人输入des3算法的密码,比如:123456
#openssl genrsa-des3 -out server.key 1024
3) 基于上面生成的密钥,生成“签名请求”文件,准备用于签名。生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.
#openssl req-new -key server.key -out server.csr
4) 由于密钥文件是使用des3加密过的,所以为了使用方便,去掉加密,即生成的server_nopwd.key为去掉加密的密钥文件。
#openssl rsa -inserver.key -out server_nopwd.key
5) 生成证书,并签名:-days表示证书有效期,这里设置为3650天(10年),最后的输出文件为server.crt即服务器端证书。
#openssl x509-req -days 3650 -in server.csr -signkey server_nopwd.key -out server.crt
6) 配置Nginx
server {
listen 443;
sslon;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server_nopwd.key;
}
重启Nginx
ps:如果出现“[emerg] 10464#0: unknown directive "ssl" in/usr/local/nginx-0.6.32/conf/nginx.conf:74”则说明没有将ssl模块编译进nginx,在configure的时候加上“--with-http_ssl_module”即可^^
至此已经完成了https服务器搭建,但如何让浏览器信任自己颁发的证书呢?
今天终于研究捣鼓出来了,只要将之前生成的server.crt文件导入到系统的证书管理器就行了,具体方法:
控制面板 -> Internet选项 ->内容 -> 发行者 ->受信任的根证书颁发机构 -> 导入 -》选择server.crt
(二) 安卓客户端证书生成
使用JDK自带的keytool工具,把服务器端CRT格式的证书导出一个BKS格式的证书,由于JDK自带的不支持BKS,所以需要一个第三方Jar包支持:bcprov-ext-jdk15on-150.jar.
keytool -importcert -keystore client.bks -file server.crt -storetype BKS -providerclassorg.bouncycastle.jce.provider.BouncyCastleProvider -providerpath./bcprov-ext-jdk15on-150.jar -storepass 123456
- HTTPS-Linux服务器Nginx配置、Android客户端证书生成
- nginx配置https证书
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- nginx https证书生成方式
- nginx配置https和生成自己的CA证书
- Centos6.5服务器配置nginx的https证书
- 腾讯云服务器申请SSL证书, 配置Nginx, 实现HTTPS
- HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】
- 阿里云LINUX服务器配置HTTPS(NGINX)
- Tomcat启用HTTPS(生成证书、配置Tomcat服务器)
- tomcat服务器https配置及证书生成(笔记)
- Tomcat服务器配置https认证(使用keytool生成证书)
- nginx配置https(免费证书)
- https\SSL安全证书配置,Tomcat、nodejs、Nginx服务器安全证书配置
- Nginx配置https服务器
- nginx 配置HTTPS服务器
- nginx配置https服务器
- nginx配置HTTPS服务器
- cocos2d-x 一些有用的函数
- wiki的备份以及迁移方式
- 关于“Static storage paths aren't available from AID_SYSTEM”
- 将一个字符串中的空格全部替换为“%20”
- 关于eclipse jar导入以及Android的excel的使用(小白)
- HTTPS-Linux服务器Nginx配置、Android客户端证书生成
- ubuntu下安装 Source insight
- Android NDK 编译C、C++混合程序小结(1)
- ios 对plist文件的修改
- 初始化方法
- 条款16:成对使用new和delete时要采取相同形式
- Web.xml配置<taglib>标签报错问题(cvc-complex-type.2.4.a: Invalid content was found starting with element 'tag
- ubuntu 设置root密码
- CareerCup chapter 1 Arrays and Strings