ssl证书

Http和Https的区别(面试常考题)

梦想与她 提交于 2019-11-28 17:23:03
无论是在校学习还是找工作 的时候 ,老师和面试官都问过同学 http和https的区别。平时上网的时候也没有关注这个问题,只是知道计算机网络里Http的概念,所以最近才查资料好好补补这一块。 其实这一块的知识延伸很广,如果之前不太了解加密算法和SSL协议,可以在学习了这个问题的基础上再做研究。 一、H ttp 和H ttps 的基本概念 H ttp : 超文本传输协议 (H ttp ,HyperText Transfer Protocol)是 互联网 上应用最为广泛的一种 网络协议 。设计H ttp 最初的目的是为了提供一种发布和接收 HTML 页面的方法。 它可以使浏览器更加高效。 H ttp 协议 是 以明文方式发送 信息的 ,如果 黑客 截取了Web浏览器和服务器之间的传输报文,就可以直接 获得 其中的信息 。 H ttp 原理: ① 客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过TCP 来完成的,一般 TCP 连接的端口号是80。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和许可内容。 ② 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容。 H

如何在同一服务器上实现多站点多域名HTTPS?

落花浮王杯 提交于 2019-11-28 08:18:56
假设有这样一个场景,我们有多个站点(例如site1.marei.com,site2.marei.com和site3.marei.com)绑定到同一个IP:PORT,并区分不同的主机头。我们为每一个SSL站点申请并安装了证书。在浏览网站时,用户仍看到证书不匹配的错误。 IIS中实现HTTPS 问题原因 当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密。最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。 解决方案 第一种解决方案将每个https站点绑定到不同的端口。但是这样的话客户端浏览网页时必须手动指定端口,例如https://site.domain.com:444 第二种解决方案是为每个站点分配一个独立的ip,这样冲突就解决了,甚至主机头也不用添加了。 第三种解决方案是使用通配证书。我们采用通配证书颁发给.domain.com,对于我们的示例中,应该采用颁发给.marei.com的证书,这样任何访问该domain的请求均可以通过该证书解密,证书匹配错误也就不复存在了。 第四种解决方案是升级为IIS8,IIS8中添加的对于SNI(Server Name

OWSAP WEB扫描器介绍和使用四

让人想犯罪 __ 提交于 2019-11-28 05:48:32
一、关于扫描https协议的网站设置 (1)点击左上方设置按钮,找到Dynamic ssl certificates (2)点击保存,生成的root_ca_.cer的自签名证书 (3) 将证书上传到指定的代理浏览器上 二、owasp 扫描范围过滤 (1) 选中站点url, 右键include in content,添加修改正则 来源: https://www.cnblogs.com/yingxiongguixing/p/11938602.html

SVN提示https证书验证失败问题svn: E230001: Server SSL certificate verification failed: certificate issued

落爺英雄遲暮 提交于 2019-11-27 20:32:24
svn: E230001: Server SSL certificate verification failed: certificate issued 今天在使用svn时候发现出现这个问题,这个是因为证书问题,在终端执行 svn ls https://svn 地址 然后输入p就行 这个命令是让忽略证书,然后按提示走就行,即可解决Server SSL certificate verification failed: certificate issued问题 更多资源,更多文章由 吾爱小白 提供(是我啦) 来源: CSDN 作者: 成小新 链接: https://blog.csdn.net/qq_34067821/article/details/80476615

CA认证以及https的实现

余生长醉 提交于 2019-11-27 12:23:16
(1).CA认证   CA全称Certificate Authority,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。认证中心(CA)的功能:证书发放、证书更新、证书撤销和证书验证。CA证书的作用:身份认证,实现数据的不可否认性。   CSR全称Cerificate Signing Request,中文名 证书请求文件 ,是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书的私钥签名就生成了证书文件,也就是颁发给用户的证书。   证书签名过程:1、服务器生成证书请求文件;2、认证中心确认申请者的身份真实性;3、认证中学使用根证书的私钥加密证书请求文件,生成证书;4、把证书传给申请者。   申请免费的CA认证可以选择:阿里云 https://www.aliyun.com/product/cas?spm=5176.10695662.1171680.1.58564c0dMNos55 ,或FreeSSL https://freessl.cn/  1)实验环境 youxi1  192.168.5.101  CA认证中心 youxi2  192.168.5.102  服务器  2)由于没有真实域名,所以自己搭建一个CA认证中心,实际只要去申请一个就好了。 [root

阿里云怎么申请免费的证书

半腔热情 提交于 2019-11-27 07:06:49
过程: 1. https://common-buy.aliyun.com/?commodityCode=cas#/buy # 转到 云盾证书服务的购物车 2. 默认当前购物车仅显示“专业版OV SSL”和“通配符DV SSL”,请点击“选择品牌”中的“Symantec” ;点击“保护类型”中的“1个域名” 3. 之后,就可以选中“证书类型”中的“免费型DV SSL”来提交订单了 nginx使用阿里云的免费ssl证书 重点内容:服务器要把443端口打开!!! 重点内容:服务器要把443端口打开!!! 重点内容:服务器要把443端口打开!!! 三遍说完开搞。 1.把443端口打开,就像打开8080/8081那些端口一样。具体的请百度。 2.到阿里云申请免费的证书(需要有服务器和已备案的域名),申请过程:控制台–安全(云盾)–CA证书,按照阿里云的提示操作即可。 3.申请成功之后,在证书后面有个“下载”选项。点击下载压缩包,解压后将压缩包内的xxxx.key文件和xxxx.pem文件上传至服务器nginx的目录中。 具体:在nginx/conf文件夹下新建cert文件夹,放到cert中。 4.将HTTPS server中的配置修改如下 server { listen 443; server_name 我的域名; ssl on; root html; index index.html

https的加密解密过程

≯℡__Kan透↙ 提交于 2019-11-27 07:03:35
前置知识 SSL是90年代Netscape弄出来的一套东西,为的是解决HTTP协议明文传输数据的问题。后来SSL慢慢成了事实上的标准,于是IETF就把SSL标准化了,名字叫做TLS,TLS 1.0其实就是SSL 3.1。所以SSL和TLS经常被放在一起写成SSL/TLS,因为这两个名词在现在其实就是同一个东西。HTTPS是使用TLS的HTTP协议。 证书以及信任链 我们知道,HTTPS的网站都有一个自己的证书,用于表明自己的身份。证书本质上是为了让公钥能可信的传输。公钥是放在证书里面的,如果证书可信,那么公钥就也是可信的。那为什么一个公钥是可信的呢?这就要说到信任链和CA。CA指的是Certificate Authority,CA都是权威机构,他们的证书叫做根证书,这些根证书被操作系统信任,根证书信任的证书也是可信的。因此权威机构颁发的证书都能被操作系统信任,这就组成了信任链。 这里以RSA密钥交换算法为例为例,CloudFlare提供Keyless服务,把网站放到它们的CDN上,不用提供自己的私钥,也能使用SSL加密链接。 https加密解密过程 : 客户端 发起https请求 到服务端(服务器端要一套数字证书,可以自己制作,也可以向组织申请),向服务器端索要公钥。 发送的信息一般带上: 客户端生成的一个随机值 支持的SSL/TSL协议的版本号 所支持的加密算法 Session

python使用requests时报错requests.exceptions.SSLError: HTTPSConnectionPool

偶尔善良 提交于 2019-11-27 02:21:30
requests.exceptions.SSLError: HTTPSConnectionPool(host= 'www.baidu.com', port= 443): Max retries exceeded with url: / (Caused by SSLError(SSLError( 1, u '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)'),)) 错误提示就是上面这样的。首先我找了很多的资料,有很多人说关闭证书验证(verify= False))可以解决这个问题或者说是在进行GET时,指定SSL证书. response = requests.get( 'http://www.baidu.com/', headers = header, verify= False) 但我用以上两种方法都没有完美解决此问题,而且有些还有后续错误比如InsecureRequestWarning 正确的做法参考文档资料 https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl 参考博客