HTTPS基础

目录

HTTPS简介

HTTP与HTTPS的区别

CA证书

案例

服务器生成私钥与证书

查看证书和私钥存放路径

Cockpit(图像化服务管理工具)


HTTPS简介

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道。HTTPS并不是一个新协议,而是HTTP+SSL(TLS)。原本HTTP先和TCP(假定传输层是TCP协议)直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间。

SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。到了1999年,SSL 应用广泛,已经成为互联网上的事实标准。IETF 就把SSL 标准化。标准化之后SSL被改为 TLS(Transport Layer Security传输层安全协议)。

SSL协议分为两层:

SSL记录协议 (SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议提供的服务:

(1)认证用户和服务器,确保数据发送到正确的客户机和服务器

(2)加密数据以防止数据中途被窃取

(3)维护数据的完整性,确保数据在传输过程中不被改变

HTTP与HTTPS的区别

CA证书

CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。

证书是公钥的载体,证书上的公钥与实体身份相绑定。现,一个是签名证书行的PKI机制一般为双证书机制,即一个实体应具有两个证书、两个密钥对,其中一个是加密证书,一个是签名证书,而加密证书原则上是不能用于签名的。

在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签名的。一个完整的、安全的电子商务系统必须建立一个完整的、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。

认证CA证书的过程,私钥加密,公钥解密

案例

服务器生成私钥与证书

[root@Server conf.d]# yum install mod_ssl

[root@Server conf.d]# rpm -ql mod_ssl

/etc/httpd/conf.d/ssl.conf     ---ssl配置文件

查看证书和私钥存放路径

[root@Server conf.d]# vim ssl.conf

SSLCertificateFile /etc/pki/tls/certs/localhost.crt     --证书存放路径

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key  --私钥存放路径

在虚拟机标签内添加证书和私钥路径,并指定为443端口

[root@Server ~]# vim /etc/httpd/conf.d/vhosts.conf

<VirtualHost 192.168.221.135:443>

        DocumentRoot /www/private

        ServerName 192.168.221.135

        SSLEngine on

        SSLCertificateFile /etc/pki/tls/certs/openlab.crt

        SSLCertificateKeyFile /etc/pki/tls/private/openlab.key

</VirtualHost>

[root@Server ~]# mkdir /www/private

[root@Server ~]# echo 我是私密的 > /www/private/index.html

[root@Server conf.d] openssl req -newkey rsa:4096 -keyout /etc/pki/tls/private/openlab.key -x509 -days 365 -out  /etc/pki/tls/certs/openlab.crt

...........+..+.+...............+.....+............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.........+...+......+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*................+.........+..+.+..+............+.+........+.......+.........+........+...+.......+....................+.+...........+.+..+.......+...........+........................+.............+......+...............+.........+..+.+..+.............+..+......+.+........................+..+...+......+.......................................+.+...+..................+...+..+...............+..........+.....+..........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

......+.+..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+.+.....+....+..+.........+......+....+...+..+......+....+...+........+...+.......+........+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+........+.+.....+.+...+.....+......+......+.........+......+.+.................+.......+.....+.........+...............................+........+...+............+............+......+...+.+......+.........+.....+.............+......+..+.......+........+..........+..+.+............+...+..............+...+....+...+........+...+....+..+.............+........+.........+..................+...+.......+..+.+..+.+............+...+.........+..................+...+.........+........+.........+......+....+......+.....+....+.....+...+................+......+..........................+...+.......+..+...+....+.......................+...+...+................+.....+...+..........................................+....+.........+.....+...+..................+..........+...........+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:86

State or Province Name (full name) []:guangxi

Locality Name (eg, city) [Default City]:wu'zhou

Organization Name (eg, company) [Default Company Ltd]:openlab

Organizational Unit Name (eg, section) []:ce

Common Name (eg, your name or your server's hostname) []:Server

Email Address []:admin@admin.com

  • openssl: 这是执行OpenSSL命令行工具的命令,OpenSSL是一个强大的安全套件,提供了加密和解密的功能,同时也支持SSL/TLS协议。

  • req: 这个子命令告诉OpenSSL生成一个CSR(Certificate Signing Request,证书签名请求)或者直接生成一个自签名的证书,具体行为依赖于跟随的选项。

  • -newkey rsa:4096: 指定生成一个新的RSA密钥对,密钥长度为4096位。RSA是一种非对称加密算法,广泛用于公钥加密和数字签名。4096位是当前较为推荐的安全密钥长度,以提供足够的安全性。

  • -keyout /etc/pki/tls/private/openlab.key: 指定生成的私钥文件存储位置和名称。这里设置为/etc/pki/tls/private/openlab.key,这是一个常见的存放私钥的目录结构。

  • -x509: 表示生成一个自签名的X.509证书,而不是一个证书签名请求(CSR)。自签名证书意味着它既是证书也是自己的CA(证书颁发机构),适用于测试和内部使用,但不被浏览器等外部实体信任。

  • -days 365: 设置证书的有效期为365天(即一年)。

  • -out /etc/pki/tls/certs/openlab.crt: 指定生成的自签名证书文件的存储位置和名称。这里设置为/etc/pki/tls/certs/openlab.crt,这也是一个标准的位置来存放证书文件。

综上所述,这个命令将创建一个有效期为一年、使用4096位RSA密钥的自签名SSL证书,并将其私钥和证书分别保存在指定的路径下。这种自签名证书适用于本地测试或内部系统,但不适合生产环境的公开网站,因为主流浏览器不会信任未经权威CA签名的证书。对于生产环境,应向受信任的证书颁发机构申请证书。

[root@Server conf.d]# systemctl restart httpd   --重启服务

🔐 Enter TLS private key passphrase for 192.168.221.135:443 (RSA) : ******      

Cockpit(图像化服务管理工具)

Cockpit 是红帽开发的网页版图像化服务管理工具,优点是无需中间层,且可以管理多种服务。

[root@Server conf.d]# yum install cockpit

[root@Server conf.d]# systemctl restart cockpit

#端口9090

  • 35
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妍妍的宝贝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值