自制证书实现网站https访问

自己制作的证书,客户端必须手动安装,适合企业客户;面向消费者的就去阿里云申请一个,通配符域名证书一年2000元左右
这里制作的是单向证书, 通讯过程是加密的, 安全上没有问题
另外,双向证书适合对安全要求高的企业客户, 严格限制可以访问站点的用户
区别是: 单向证书任何人都可以访问网站, 双向证书只有安装了证书的用户才可以访问网站

制作过程

1,自制CA私钥
openssl genrsa -des3 -out ca.key 4096
2,自制CA证书
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

3,自制Server私钥,生成免密码版本
openssl genrsa -des3 -out server.key 4096
openssl rsa -in server.key -out server.nosecret.key
4,制作csr文件
openssl req -new -key server.key -out server.csr
5,用CA证书私钥对csr签名(CA不能用X509,这点需要注意)生成Server证书
openssl ca -days 3650 -in server.csr -cert ca.crt -keyfile ca.key -out server.crt

制作完成得到六个文件
在这里插入图片描述
需要注意的几个问题
1,在linux下面执行上面六条命令,按提示输入基本就可以了
2,提示输入密码时,统一一个简单密码就可以了,防止弄混了
3,提示输入其它信息时,全部用同一串字符就可以了,防止混乱,例如:gd
4,有两处输入域名的地方【Common Name 】一定要输入正确的网站域名,例如www.gd.cn,否则部署后浏览器会提示域名不一致,
5,最后检查六个文件都生成了,而且都有内容,如果出现0字节的文件说明没成功

如果出现类似报错: /etc/pki/CA/index.txt: No such file or directory
执行下面的语句就可以了
touch /etc/pki/CA/index.txt
touch /etc/pki/CA/serial
Echo “01” > /etc/pki/CA/serial

服务端Nginx配置

把 server.crt 和 server.nosecret.key 拷贝到 nginx\conf\ssl 目录下面

	server {
		listen 443;
		server_name 192.168.4.30;
		
		ssl on;
		ssl_certificate ssl/server.crt;
		ssl_certificate_key ssl/server.nosecret.key;

		location / {
			root   html;
			index  index.html index.htm;
		}
	}

客户端安装
双击ca.crt进行安装,安装到受信任的机构里面

重启浏览器访问https

因为客户端必须手动安装证书,自制的证书适合企业客户,面向消费者的就去阿里云申请一个,通配符域名证书一年2000元左右

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值