利用https访问web站点

利用https访问web站点
一、https及ssl的简介
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议。它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP 数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
HTTPS和HTTP的区别
维棉
1、https协议需要到ca申请证书,一般免费证书很少,需要交费。
2、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
SSL的简介
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,
用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL的认证过程
1、客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
2、服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息
3、客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
4、服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
二、案例
实验步骤:
Web服务器配置
(1)挂载光盘
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
(2)安装apache,并设置相关配置
搜索apache中提供web服务的httpd项目,并进行安装
[root@localhost Server]# ll httpd*
-r--r--r-- 86 root root 1266575 Jul 28 2009 httpd-2.2.3-31.el5.i386.rpm
巴士之家
-r--r--r-- 99 root root 150002 Jul 28 2009 httpd-devel-2.2.3-31.el5.i386.rpm //头文件,库文件
-r--r--r-- 86 root root 830924 Jul 28 2009 httpd-manual-2.2.3-31.el5.i386.rpm //手册
[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm //只需安装这个
warning: httpd-2.2.3-31.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
< >>>>>>>>### [100%]
1:httpd >>>>>>> >### [100%]
(3)安装之后可以查看一下配置文件
[root@localhost Server]# rpm -ql httpd |less
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# cd /etc/httpd
[root@localhost httpd]# vim /etc/httpd/f //配置文件
33 ### Section 1: Global Environment //全局环境变量
57 ServerRoot "/etc/httpd" //apache根目录
63 PidFile run/httpd.pid  //存放进程号
68 Timeout 120  //连接超时
74 KeepAlive Off  //持久连接(off代表关闭)
81 MaxKeepAliveRequests 100 //最大连接个数
87 KeepAliveTimeout 15 //持久连接超时
93 # prefork MPM //多进程处理机制
100 <IfModule prefork.c>
116 <IfModule worker.c> //有上面2个模块选择
134 #Listen 80 //监听的端口注释掉表示只能用https访问
231 User apache //apache运行时的身份是apache
232 Group apache //组的身份
// [root@localhost Server]# rpm -q --scripts httpd 查看安装时怎么创建帐号的
281 DocumentRoot "/var/www/html" //网站默认主目录
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "hello!!!!!!!!!!!!!!!" >index.html
意象与意境//新建一个首页
身份验证
[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim .htaccess//编辑,名称必须是.htaccess
authuserfile /var/www/.htpasswd //帐号密码的存放位置 .htpasswd 自己起的名字
authtype basic //验证的类型
authname "please input your name and passwd" //验证对话框提示信息
require valid-user //允许什么样的用户请求
[root@localhost www]# htpasswd -c .htpasswd user1 //创建.htpasswd 和帐号密码New password:
Re-type new password:
Adding password for user user1
[root@localhost ~]# vim /etc/httpd/f
327  AllowOverride all (none修改为all,表示支持身份验证)
配置颁发证书的根机构
[root@localhost ~]# cd /etc/pki
[root@localhost pki]# ll
total 32
drwx------ 6 root root 4096 Aug 15 09:22 CA
drwxr-xr-x 2 root root 4096 Aug 15 06:50 nssdb
drwxr-xr-x 2 root root 4096 Aug 15 06:50 rpm-gpg
drwxr-xr-x 5 root root 4096 Aug 15 09:25 tls
功率因数校正
[root@localhost pki]# vim tls/opensslf
45 dir = /etc/pki/CA //证书所在的位置
46 certs = $dir/certs // 已经发行证书存放的位置
47 crl_dir = $dir/crl // 证书吊销列表存放的位置
48 database = $ // 数据库索引文件存放的位置
51 new_certs_dir = $dir/newcerts // 新发行的证书的位置
53 certificate = $dir/cacert.pem // 发证机关的证书的位置
54 serial = $dir/serial//证书序列号
58 private_key = $dir/private/cakey.pem // 产生私钥的位置
根证书的国家,省份的信息不需要与申请证书的机构匹配
89 countryName = optional #match改为optional
90 stateOrProvinceName = optional
91 organizationName = optional
创建相应的文件及目录
[root@localhost ~]# cd /etc/pki/CA/
[root@localhost CA]# mkdir crl certs newcerts
最小的一位数是几[root@localhost CA]# serial
[root@localhost CA]# echo "01" >serial 序列号从1开始
[root@localhost CA]#
[root@localhost CA]# openssl genrsa 1024 >private/cakey.pem
// 产生一个证书的私钥存放在cakey.pem中
[root@localhost CA]# chmod 600 private/* //更改权限
[root@localhost CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem
// 产生证书–new产生一个新的-key 利用钥匙–x509 格式
Web服务器的配置
创建存放私有钥匙,证书等信息的目录
[root@localhost ~]# mkdir -pv /etc/httpd/certs
1、产生钥匙
[root@localhost ~]# cd /etc/httpd/certs/
[root@localhost certs]#openssl genrsa 1024 >httpd.key
2、向根机构请求证书
[root@localhost certs]# openssl req -new -key httpd.key -out httpd.csr
3、申请证书
[root@localhost certs]# openssl ca -in httpd.csr - //利用请求得到证书
4、安装ssl
[root@localhost ~]# yum install mod_ssl
安装完成后,编辑
[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# f
112 SSLCertificateFile /etc/httpd/ //指定证书的位置119 SSLCertificateKeyFile /etc/httpd/certs/httpd.key //指定私钥的位置
128 SSLCertificateChainFile /etc/pki/CA/cacert.pem // 证书链
[root@localhost conf.d]# service httpd restart  //重启服务
[root@localhost conf.d]# netstat -tupln |grep http //查看端口
tcp  0  0 :::443  :::*
LISTEN  25511/httpd日落公园
四、测试

本文发布于:2024-09-21 18:31:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/342627.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:证书   协议   信息   加密   进行   服务器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议