HTTPS自签证书SSL的作成

一. http与https的区别

http 是明文传输(信息不安全)

https 是加密传输(信息安全)

注释:https=http+SSL,SSL的3.0版相当于TLS1.0。

二. 单向认证与双向认证

1. 单向认证

只有服务器配置了SSL,

浏览器访问服务器时,服务器的SSL是安全的就可以正常访问

适用于公开的网络服务(例如:京东,淘宝等任何人都可注册的网站)

2. 双向认证

服务器和客户浏览器都配置了SSL,

浏览器访问服务器,认为服务器SSL是安全的就可以发出访问请求,

同时服务器认证浏览器SSL,认为浏览器有访问权限,完成访问。

适用于安全级别高的企业内部系统(例如:移动,银行等我们去办理业务时他们的内部系统)

三. 服务器证书的作成

1. 作成“私钥”

作为服务器发布方,需要自己创建一个私钥(只有服务器自己知道),用来解密浏览器发过来的加密数据

私钥一般为 server.key或 serverkey.pem 以key或pem为后缀的文件,名称无所谓,本质上两种文件没有区别

2. 作成“待签名证书”

用私钥作成一个待签名证书,给浏览器加密数据用(浏览器访问服务器会自动获取到)

待签名证书一般为 server.csr 以csr为后缀文件,名称不重要,这时的证书没有经过CA认证无法直接使用

3. 通过CA认证

拿着待签名证书,找CA机构签名

1. 权威机构签名,需要付费。(浏览器可正常访问,服务器对外网公开选择这个签名)

2. 自建CA,给自己签名,免费。(浏览器会提示不安全,小企业内部使用可以使用自签名证书)

签名证书一般为 servercert.pem或 server.crt 名称不重要,本质上两种文件没区别

四. 作成客户端证书

双向认证时需要作成,作成方式同服务器证书一样,改个名字即可

五. 自签证书作成实例

自建CA认证局,然后给服务器证书签名

1. 下载安装OpenSSL

参照:OpenSSL下载安装_凯尔萨厮的博客-CSDN博客

2. 自建CA认证

下记方式二选一即可

自建CA方式一:

五.2.一.(1). 作成CA根证书私钥

openssl genrsa -out D:\SSL\cakey.pem 2048

 五.2.一.(2)根据私钥作成待签名证书

作成待签名证书方式1:无参命令(参数一个个输入)

openssl req -new -key D:\cakey.pem -out D:\ca.csr

Country Name(国家,例:CN))

State or Province Name(省,例:liaoning)

Location or City(城市,例:dalian)

Organization Name(企业,组织,例:bly)

Organizational Unit Name(部门,例:kaifa)

Common Name(证书拥有者名,例:www.openssl.com)

Email Address(可不输入)

A challenge password(可不输入)

An optional company name(可不输入)

 

作成待签名证书方式2:有参命令(一次作成)

 openssl req -new -key D:\cakey.pem -out D:\ca2.csr -subj "/C=CN/ST=liaoming/L=dalian/O=bly/OU=kaifa/CN=openssl"

五.2.一.(3). 自签发根证书

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey D:\cakey.pem -in D:\ca.csr -out  D:\cacert.pem

自建CA方式二:

五.2.二.(1) 生成CA私钥和签名证书

openssl req -x509 -sha256 -days 3650 -newkey rsa:4096 -keyout D:\SSL\TCL\rootCA.key -out D:\SSL\TCL\rootCA.crt

输入PEM密码:(例:capwd) 

Country Name(国家,例:CN))

State or Province Name(省,例:liaoning)

Location or City(城市,例:dalian)

Organization Name(企业,组织,例:bly)

Organizational Unit Name(部门,例:kaifa)

Common Name(证书拥有者名,例:www.openssl.com)

Email Address(可不输入)

A challenge password(可不输入)

An optional company name(可不输入)

3. 自建服务器证书

方式一:

3.一.(1). 作成服务器证书私钥

openssl genrsa -out D:\key.pem 2048

3.一.(2)根据私钥作成待签名证书

openssl req -new -key D:\key.pem -out D:\server.csr -subj "/C=CN/ST=liaoning/L=dalian/O=bly/OU=kaifa/CN=keycloak"

3.一.(3)给证书签名

openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA D:\cacert.pem -CAkey D:\cakey.pem -CAserial D:\ca.srl -CAcreateserial -in D:\server.csr -out D:\cert.pem

方式二:

3.二.(1). 作成服务器证书私钥和待签名证书

openssl req -new -newkey rsa:4096 -keyout D:\SSL\TCL\server.key -out D:\SSL\TCL\server.csr -nodes

3.二.(2)给证书签名

openssl x509 -req -CA D:\SSL\TCL\rootCA.crt -CAkey D:\SSL\TCL\rootCA.key -in D:\SSL\TCL\server.csr -out D:\SSL\TCL\server.crt -days 3650

4. 自建客户端证书

参照上记3自建服务器证书

五. 证书配置

1. 服务端配置服务器证书

TODO各个服务器不同自行百度

2. 浏览器配置证书

再windows检索输入【internet option】互联网选项

 点击证明书

 

(1)浏览器设置,信任服务端证书认证(单向认证,双向认证都要设置)

将CA根证书导入到下记,信任的证明机关里(用于访问服务器自动信任服务器证书,避免弹出不受信任的网址)

 (2)浏览器设置,客户端证明书(双向认证,设置)

将客户端证明书导入到下记,个人里

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值