https那些你知道和不知道的事儿_第1页
https那些你知道和不知道的事儿_第2页
https那些你知道和不知道的事儿_第3页
https那些你知道和不知道的事儿_第4页
https那些你知道和不知道的事儿_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HTTPS 那些你知道的和你不知道的事儿演讲人:酸酸哥什么是HTTPS在说HTTPS之前先说说什么是HTTP,HTTP(超文本传输协议)就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS(超文本传输安全协议)。https是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定 https使用的默认端口是443.https是以安

2、全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSLHTTPS的工作原理HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL中使用了非对称加密,对称加密以及HASH算法SSL 的握手过程1.浏览器将自己支持的一套加密规则发送给网站。2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。获得网站证书之后浏览器要做以下工作:a) 验证证书的合法性(颁发证书的机构是否合法

3、,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。c) 使用约定好的HASH计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。网站接收浏览器发来的数据之后要做以下的操作:a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。b) 使用密码加密一段握手消息,发送给浏览器。浏览器解密并计算握手消息的HASH,如果与服务端发来

4、的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密搭建HTTPS服务/$PATH/nginx-1.0.6/sbin/nginx -V 查看nginx有没有装http_ssl_module模块 ,如果没有装那么需要装一个该模块 apt-get install openssl要设置安全服务器,使用公共钥创建一对公私钥对。大多数情况下,发送证书请求(包括自己的公钥),你的公司证明材料以及费用到一个证书颁发机构(CA).CA验证证书请求及您的身份,然后将证书返回给您的安全服务器。但是内网实现一个服务器端和客户端传输内容的加密,可以自己给自己颁发证

5、书,只需要忽略掉浏览器不信任的警报即可! cd /$PATH/nginx/conf/生成SSL证书rootvm ssl# openssl genrsa -des3 -out server.key 1024Enter pass phrase for server.key: 提示输入密码,此密码用于加密key文件.以后每当需读取此key文件都需输入此密码Verifying - Enter pass phrase for server.key:rootvm ssl# lsserver.key一般情况下,制作证书要经过几个步骤,如上图所示。首先用openssl genrsa生成一个私钥,然后用open

6、ssl req生成一个签署请求,最后把请求交给CA,CA签署后就成为该CA认证的证书了。如果在第二步请求时加上-x509参数,那么就直接生成一个self-signed的证书,即自己充当CA认证自己。openssl genrsa -des3 -out server.key 1024openssl req -new -key server.key -out server.csrcp server.key openssl rsa -in -out server.keyopenssl x509 -req -days 365 -in server

7、.csr -signkey server.key -out server.crt配置nginxserver server_name YOUR_DOMAINNAME_HERE; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key;OK, 完成了。但这样证书是不被信任的,自己玩玩还行,要被信任请看下面。受浏览器信任的StartSSL免费SSL证书StartSSL(网址:http:/,公司名:StartCom

8、)是一家CA机构,它的根证书很 久之前就被一些具有开源背景的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等)。StartSSL竟然搞定了微软:微软在升级补丁中,更新了通过Windows根证书认证程序(Windows Root Certificate Program)的厂商清单,并首次将StartCom公司列入了该认证清单,这是微软首次将提供免费数字验证技术的厂商加入根证书认证列表中,现在,在 Windows 7或安装了升级补丁的Windows Vista或Windows XP操作系统中,系统会完全信任由StartCom这类免费数字认证机构认证的数字证书,从而

9、使StartSSL也得到了IE浏览器的支持。注册成为StartSSL(http:/) 用户,并通过邮件验证后,就可以申请免费的可信任的SSL证书了。Hi XXXX,Congratulations on your new StartSSL account! Things you should know before proceeding:During enrollment a client certificate has been installed into your browser for authentication purpose. This certificate allows you

10、 to securely access your account in the future. Make sure to *backup* this certificate including the private key to an external media! Failing to do so may result in the loss of your account. See also https:/ for more information about how to backup your client certificates.Even though StartSSL prov

11、ides certificates generally free of charge, revocations thereof may carry a handling fee. Take great care of your private keys, save and backup all files all the time!Take a minute of your time and visit the Tool Box section of your control panel, which provides you with many tools and utilities. Th

12、ey might help you during the various tasks of validation, creation and installation of your certificates.Thank you for choosing StartSSL!First, use the StartSSL Control Panel to create a private key and certificate and transfer them to your server. Then execute the following steps (if you use a clas

13、s 2 certificate replace class1 by class2 in the instructions below):Decrypt the private key by using the password you entered when you created your key:openssl rsa -in ssl.key -out /etc/nginx/conf/ssl.keyAlternatively you can also use the Tool Box decryption tool of your StartSSL account.Protect you

14、r key from prying eyes:chmod 600 /etc/nginx/conf/ssl.keyFetch the Root CA and Class 1 Intermediate Server CA certificates:wget http:/ http:/ a unified certificate from your certificate and the CA certificates:cat ssl.crt sub.class1.server.ca.pem ca.pem /etc/nginx/conf/ssl-unified.crtConfigure your nginx server to use the new key and certificate (in the globa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论