关于https:HTTPS证书一年多少钱

保障网络安全与用户信赖,SSL证书不可或缺。对于网站管理者而言,抉择适合的SSL证书不仅关乎网站数据的平安加密,还与年度预算严密相干。以下是对于SSL证书一年所需费用的具体解析,咱们将依照证书类型、域名覆盖范围以及验证级别进行划分。 1. 依据证书类型定价单域名SSL证书此类证书实用于仅需爱护繁多顶级域名的网站,如example.com。其价格区间较为灵便,根据不同的证书品牌和服务商,单域名DV SSL证书的一年费用大概在人民币100元至1000元,有局部CA机构提供收费的单域名SSL证书。适宜小型企业和集体博客应用。 多域名SSL证书针对领有多个独立域名且心愿建设对立平安连贯的企业,多域名SSL证书提供了一站式解决方案。其价格相应较高,一年费用通常在人民币1000元至4000元,可同时爱护多个指定域名。 通配符SSL证书通配符SSL证书实用于须要爱护一个主域名及其有限层级子域名的状况,如*.example.com。因其宽泛适用性,其价格相较于单域名证书更高,一年费用大略在人民币2000元至10000元,实用于有较多子域名的状况。 2. 验证级别决定老本DV (Domain Validation)DV SSL证书仅验证域名所有权,签发速度快,次要用于提供根本的数据加密和显示平安锁标识。这类证书的价格最为亲民,适宜对身份验证要求不高的场景,一年费用大抵在人民币100至1000元左右。 OV (Organization Validation)组织验证型SSL证书除了加密数据外,还会对申请单位的实在身份进行核实,加强了访客的信任感。因为波及了具体的业务实体验证过程,其一年费用约在人民币2000至4000元之间。 EV (Extended Validation)扩大验证型SSL证书提供了最高等级的安全性和可见的信赖标记,会在浏览器地址栏显示绿色公司名称。因为严格的验证流程和显著的品牌展现成果,EV SSL证书的价格绝对较高,一年费用通常在人民币4000至8000元高低。 JoySSL有收费的单域名证书可供试用:证书详情 总结来说,抉择哪种SSL证书,不仅要看您的估算,还要思考网站的理论需要,包含域名数量、业务类型和品牌形象展现等因素。每个等级和类型的SSL证书都有其独特的价值,旨在为用户提供最合适且经济高效的网络安全解决方案。务必关注服务商提供的增值服务,如技术支持、装置帮助及续费政策等,确保您获得最佳的投资回报。

February 29, 2024 · 1 min · jiezi

关于https:HTTPS超文本传输安全协议被恶意请求该如何处理

HTTPS(超文本传输平安协定)端口攻打通常是指SSL握手中的一些攻击方式,比方SSL握手协商过程中的暴力破解、中间人攻打和SSL剥离攻打等。 攻打原理攻击者管制受害者发送大量申请,利用压缩算法的机制猜想申请中的要害信息,依据response长度判断申请是否胜利。 攻击者能够管制的局部为get申请地址,想要猜想的局部为Cookie。那么攻击者只须要在GET地址处,一直变换猜想字符串,进行猜想。 当攻击者猜对了cookie的第一个字母,Response的长度会放大到9999byte。 当Response被SSL加密之后,如果应用RC4加密模式,长度并不会产生随机扭转。应用BCB加密模式时,因为padding的起因,长度会有稍微的扭转。 攻击者管制受害者发送大量申请,利用压缩算法的机制猜想申请中的要害信息,依据response响应工夫判断申请是否胜利。其实TIME和CRIME一样都利用了压缩算法,只不过CRIME是通过长度信息作为辅助,而TIME是通过工夫信息作为辅助。 攻打前提攻击者能够获取受害者的网络通信包。(中间人攻打,ISP供应商) 攻击者须要能失去发送敏感数据端的一部分权限。以便将本人的信息插入SSL/TLS会话中。 攻击者须要精确的找出敏感数据的密文段。 攻打这能够管制受害者发送大量申请并能够管制申请内容。 进攻办法 服务器端能够通过禁用一些加密算法来避免此类攻打。禁止过于频繁的申请。批改压缩算法流程,用户输出的数据不进行压缩。随机增加长度不定的垃圾数据。平安配置HTTPS服务器:对HTTPS服务器进行平安配置,包含禁用不平安的加密算法和协定、启用完整性校验等安全措施。施行网络流量监测和剖析:通过施行网络流量监测和剖析,能够及时发现异常的SSL握手行为和歹意流量,采取相应的防护措施。应用HSTS:HSTS(HTTP Strict Transport Security)是一种平安机制,能够强制客户端应用HTTPS进行连贯,防止受到SSL剥离攻打。与业余的防护平安团队进行单干,接入平安减速CDN进行防护,平安减速CDN是一种比拟广泛的防护形式,接入后针对https的端口攻打可能无效的进行解密辨认,在不影响原有的用户根底上进行精准屏蔽歹意流量。

February 20, 2024 · 1 min · jiezi

关于https:HTTP和HTTPS的不同HTTPS如何加密的

HTTP (Hypertext Transfer Protocol) 是一种用于传输数据的协定,罕用于Web应用程序和浏览器之间的通信。 HTTPS (HTTP Secure) 是一种更加平安的HTTP协定。它通过应用SSL/TLS协定来加密HTTP传输的数据。SSL/TLS协定应用了一些非对称加密和对称加密算法来爱护用户数据的平安。其中,非对称加密算法用于加密公开密钥,保障数据传输的平安,对称加密算法用于加密数据,保障数据传输的速度。 HTTPS的长处: 避免信息被窃取:通过加密数据,即便被黑客拦挡,也无奈读取数据。 避免数据篡改:HTTPS能够确认数据的完整性,若数据在传输过程中被篡改,会被服务器回绝。 避免假装:HTTPS应用SSL证书,能够确保客户端连贯的是服务器自身,而非伪造的服务器。 总之,HTTPS相比HTTP更加安全可靠,更适宜进行敏感数据传输。

September 22, 2023 · 1 min · jiezi

关于https:Linux系统之网络客户端工具

@TOC 一、Links工具1.Links工具介绍Linux有一款自带的文本互联网浏览器:links,能够浏览简略网页,及测试网络端口连通性。2.装置Links软件通过yum装置links软件包。[root@jeven ~]# yum -y install linksLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileepel/x86_64/metalink | 6.6 kB 00:00:00 * base: mirrors.163.com * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.163.com * updates: mirrors.163.combase | 3.6 kB 00:00:00 docker-ce-stable | 3.5 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/4): docker-ce-stable/7/x86_64/primary_db | 93 kB 00:00:00 (2/4): epel/x86_64/group_gz | 99 kB 00:00:01 (3/4): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (4/4): epel/x86_64/primary_db | 7.0 MB 00:00:01 Resolving Dependencies--> Running transaction check---> Package links.x86_64 1:2.20.2-1.el7 will be installed--> Finished Dependency ResolutionDependencies Resolved====================================================================================================================================================================== Package Arch Version Repository Size======================================================================================================================================================================Installing: links x86_64 1:2.20.2-1.el7 epel 2.9 MTransaction Summary======================================================================================================================================================================Install 1 PackageTotal download size: 2.9 MInstalled size: 4.4 MDownloading packages:links-2.20.2-1.el7.x86_64.rpm | 2.9 MB 00:00:01 Running transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : 1:links-2.20.2-1.el7.x86_64 1/1 Verifying : 1:links-2.20.2-1.el7.x86_64 1/1 Installed: links.x86_64 1:2.20.2-1.el7 Complete!3.Links工具的应用间接应用links+网址浏览网页。links https://mirrors.aliyun.com/centos/ ...

August 29, 2023 · 5 min · jiezi

关于https:本地https方案webxr运行需要

创立openssl所需的配置文件localhost.conf [ req ]default_bits = 2048 # RSA的2048是公认较比拟平安的key长度default_keyfile = server-key.pemdistinguished_name = subjectreq_extensions = req_extx509_extensions = x509_extstring_mask = utf8only[ subject ]countryName = Country Name (2 letter code)countryName_default = USstateOrProvinceName = State or Province Name (full name)stateOrProvinceName_default = NYlocalityName = Locality Name (eg, city)localityName_default = New YorkorganizationName = Organization Name (eg, company)organizationName_default = Example, LLCcommonName = Common Name (e.g. server FQDN or YOUR name)commonName_default = Example CompanyemailAddress = Email AddressemailAddress_default = test@example.com[ x509_ext ]subjectKeyIdentifier = hashauthorityKeyIdentifier = keyid,issuerbasicConstraints = CA:FALSEkeyUsage = digitalSignature, keyEnciphermentsubjectAltName = @alternate_namesnsComment = "OpenSSL Generated Certificate"[ req_ext ]subjectKeyIdentifier = hashbasicConstraints = CA:FALSEkeyUsage = digitalSignature, keyEnciphermentsubjectAltName = @alternate_namesnsComment = "OpenSSL Generated Certificate"[ alternate_names ]DNS.1 = 192.168.XXX.XXX # 留神这里个别改为本人本地的ip或者域名生成证书localhost.crt,localhost.key openssl 运行命令./openssl.exe req -config localhost.conf -new -sha256 -newkey rsa:2048 -nodes -keyout localhost.key -x509 -days 365 -out localhost.crt拷贝证书到nginx-1.18.0\conf\ssl 目录(新建ssl)下配置nginxnginx.conf减少server配置项 ...

February 27, 2023 · 1 min · jiezi

关于https:https是怎么防止中间人攻击的

什么是中间人攻打个别,一个http申请,是从客户端申请进来,再达到服务端。 但申请不是间接达到服务端的,因为网络上要通过很多"节点",最初才会达到服务端。 举个例子比方,平时用的fiddler工具。 当客户端发出请求后,申请就会先通过fiddler,而后再达到服务端(假如没有网络其余节点了)。 没有fiddler之前,http申请是间接达到服务端的。 如下截图所示: 详情: https://mp.weixin.qq.com/s?__... 有问题可群征询:https://public-1253796280.cos...

November 28, 2022 · 1 min · jiezi

关于https:https简介

1. http不平安,纯文本2.https用什么形式平安呢C=client S=server H=Hacker 明文=裸奔,必定不平安对称加密=>key惟一才可行=>等同于明文(H也能拿到)非对称加密=>C->S求得公钥加密=>C发送加密数据给S能够;S->C不平安(因为H也是一个C)对称+非对称=>中间人攻打(从一开始的非对称加密开始就H染指,充当代理服务器代理C/S单方)对称+非对称+CA认证核心+PC机器操作系统都会内置权威CA的证书=>解决中间人攻打问题;https次要就是应用下面的5

September 28, 2022 · 1 min · jiezi

关于https:HTTP1X和HTTP20协议

@TOC HTTP的诞生1989 年 3 月 CERN(欧洲核子钻研组织) 的蒂姆 • 伯纳斯 - 李(Tim BernersLee)博士提出了一种能让远隔两地的研究者们共享常识的构想,蒂姆 • 伯纳斯 - 李也成为万维网之父。 一、HTTP介绍http简称超文本传输协定,属于应用层协定,根本用于利用之间的数据传输,罕用于web方向,是基于tcp的应用层协定,有时候还会基于ssl,tsl就是咱们说的https协定HTTP协定(超文本传输协定HyperText Transfer Protocol),它是基于TCP协定的应用层传输协定,简略来说就是客户端和服务端进行数据传输的一种规定。留神:客户端与服务器的角色不是固定的,一端充当客户端,也可能在某次申请中充当服务器。这取决与申请的发动端。HTTP协定属于应用层,建设在传输层协定TCP之上。客户端通过与服务器建设TCP连贯,之后发送HTTP申请与接管HTTP响应都是通过拜访Socket接口来调用TCP协定实现。 没有人可能全面把握互联网中的传输情况 二、HTTP的组成http属于一个文本协定,通过客户端和服务器之间的规定来实现特定的成果 1. HTTP组成报文格式及实例申请报文格式 上面是自制服务器,应用谷歌浏览器发送申请的报文(以公开,可拜访) 具体内容: GET /favicon.ico HTTP/1.1Host: 121.40.62.167:9999Connection: keep-aliveUser-Agent: Mozilla/5.0 (windows NT 10.0: Win64: x64) Applewebkit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 safari/537.36 Edg/103.0.1264 .49Accept: image/webp, image/apng, image/svg+xml, image/*, */*;q=0.8Referer: http://xxxxxxx:9999/Accept-Encoding: gzip, deflateAccept-Language: zh-CN, zh:q=0.9, en: q=0.8, en-GB;q=0.7, en-US;q=0.6Cookie: order=id20desc; serverType=nginx: pro_end=-1: 1td_end=-1: memsize=3748; bt_user_info=87B822status2283Atrue82C22msg2283A8228u83B78u5 3D68u6210%u529F82182282C22data223A87B822username 223A822183****78392287D87D: backup_path=/www/backup: sites_path=/www/wwwroot; site_model=ava: config-tab=1: 9273e354ba8b7935dcc533ebc06536a1=ab3ce455-9457-49d4-b89c-2c04cc01b71c.xR1YyxrEwTAUYzvxseaocd07_Us; request_token=KMakqkKidow7YyDmGylvP57BXkPCOAWIpoQnp302zq6RX6wD: network-unitType=KB/s; disk-unitType=MB/s; controlType=control If-Modified-since: Wed, 22 Jul-2009 19:15:56 GMT响应报文格式 ...

September 20, 2022 · 3 min · jiezi

关于https:HTTPHTTPS-TLS-12

HTTPS 概念在集体过来的读书笔记中曾经介绍过一次,在这一篇文章中介绍了HTTP1.1的毛病,以及SSL、TLS的历史,之后介绍了无关SSL加密的次要加密计划:公开密钥加密 和 共享密钥加密,最初简略介绍了HTTPS的交互过程,然而书中的过程比拟粗,这节咱们讲细一点点。 相干文章:[[《图解HTTP》 - HTTPS]] 本局部会简化介绍反复的局部,补充笔记中没有欠缺的细节。 这些内容比拟八股又干又硬,倡议仔细阅读消化。如何定义“平安”定义平安靠的是上面几点: 完整性:也叫做数据一致性,指的是传输过程自登程到承受的信息是统一的。秘密内容能够被黑客替换或者删除增加,一旦被承受并且核验通过,会带来大问题。机密性:对于数据窃密之后,只有信赖的对象能够拜访,其他人哪怕拿到窃密信息,也无奈辨认出外面的内容。身份认证:身份认证须要明确的证实对方身份,比方报警的时候要求警察出示身份证据,并且看到盖章许可文件才容许进入,不然黑客假冒的,不管怎么防都没有用。不可否认:指的是产生的事件不能进行诽谤,某一项操作必要在通信实现之后产生肯定影响。否则就是相似拜访一个看起来极其真切的网站然而却是一个空壳,空壳前面间接把你的个人信息套走。HTTPS 解决的问题HTTPS 解决了什么问题?咱们介绍HTTP的次要问题,以及如何解决这些问题的。 HTTP的次要问题: 信息加密:保障敏感信息不会被窃取。身份校验:数据完整性保障,数据无奈篡改,篡改之后无奈失常应用。身份证书:证实服务端是实在具备公信力的。如何解决这些问题: 信息加密:应用双层加密机制,连贯应用非对称加密,同时在连贯之后应用对称加密,双保险的混合加密保障平安。摘要算法:保证数据的完整性,TLS协定次要举荐应用SHA-2“汇合”上面的加密算法,相当于给数据生成一个解锁指纹。身份证书:服务器公钥放入数字证书,本人再应用私钥再加密一遍进行传输,避免被人假冒。除了下面三点之外,还有一点“不可否认“,然而严格意义上并不是HTTPS自身的“功绩”: 不可否认:CA证书颁发机构自身具备权威及公信力,一旦服务端被申明存在,那就是肯定存在。HTTP和HTTPS的区别HTTP是明文传输,在传输一些敏感信息的时候可能存在窃取信息的状况。HTTP连贯相对效率更高,因为它只须要三次握手就是实现连贯操作,而TLS/SSL须要多退出四次握手能力实现连贯。HTTPS 整体须要消耗更多的连接时间。HTTP的端口默认是80,HTTP默认端口时443。HTTP发送公钥须要向CA进行申请,保障服务器是受信赖的。SSL/TLS 历史关联:[[《图解HTTP》 - HTTPS]] #SSL/TLS历史 能够间接浏览笔记的“SSL/TLS历史”局部,集体在笔记中对于SSL/TLS之间的关系,以及SSL/TLS进化历史做了一个概述,当然这些内容也能够间接去“维基百科”看相干介绍,外面有更加业余和权威的解释。 TLS含意TLS 由记录协定、握手协定、正告协定、变更明码标准协定、扩大协定等几个子协定组成,综合应用了对称加密、非对称加密、身份认证等许多密码学前沿技术。 浏览器建设SSL协定连贯,实际上就是应用多个子加密协议组合,最终抉择适合的加密算法进行数据安全传输,这种算法组合自身被叫做“明码套件”。 此外TLS 的明码套件命名看起来很长,然而实际上十分标准,格局很固定。根本的模式是“密钥替换算法 + 签名算法 + 对称加密算法 + 摘要算法”。 比方:ECDHE-RSA-AES256-GCM-SHA384 所示意的含意为: “握手时应用 ECDHE 算法进行密钥替换,用 RSA 签名和身份认证,握手后的通信应用 AES 对称算法,密钥长度 256 位,分组模式是 GCM,摘要算法 SHA384 用于音讯认证和产生随机数。数字加密历史数字加密的是在计算机呈现以及业余的密码机呈现之后诞生,然而实际上密码学有了上千年历史,上面咱们按照《HTTP权威指南》中14.2节的介绍大抵回顾数字加密历史。 本局部为理解数字加密的技术和术语,如果曾经理解了或者不感兴趣能够间接跳过。数字加密的倒退大抵经验了上面的过程: 明码明码通常是一套固定编解码规定的加密信息,被编码之后文本信息被叫做密文。比方咱们用AAA代替阿拉伯数字1,BBB代替阿拉伯数字2,C....这样的规定组织出一套针对阿拉伯数字的加密,在加密的时候用密文进行替换。 加密前:9112955加密后:IIIAAAAAABBBIIIEEEEEE密码机晚期的明码都是非常简略的,把握法则之后很容易破解,而密码机是把加密规定从明文自身“剥离”的一种改良。本来针对一套文本的加密规定,前面应用了专门负责加密的密码机,负责更加简单的加密算法解决,这些规定加解密单靠人力反抗密文曾经比拟难,所以安全性更高一层。 密钥加密然而随着技术倒退,人们发现应用密码机加密有一个破绽,一旦密码机被盗或者被仿造,那么加密规定就生效了,经典案例来自二战时期的德国密码机被图灵攻破。 所以在二战之后又创造了一种能够自在改变加密规定的带有号码盘的密码机。简略来说就是给密码机自身又上了另一套加密规定。 被加锁之后的密码机,须要非凡的钥匙解锁能力正确的翻译密文,否则会被翻译乱码或者毫无法则的解密信息,明码密钥会让多个密码机看起来像是虚构的密码机一样,每个密码机又不同的数值,他们须要配合在一起能力失常解密加密信息。 这就有点像是把一个解密的钥匙掰成很多份,每份钥匙上又有很多横七竖八的齿,所以难以破解。 明码和密钥很容易被一概而论,其实他们是相似“包装”的关系,密钥是对于加解密规定进行“乱序”,爱护明码和加解密规定自身的伎俩,目标是即便被拿到加解密办法也没法正确的还原解密之后的信息。数字明码数字计算围绕两个主题: 计算机的飞速发展,简单的编解码规定实现。超大密钥难以破解,能够从一个加密算法产生数万亿的虚构加密算法,组合出不同的密钥。密钥越长,随机猜想的难度越大。通常编解码的函数为反函数,也就是说通过加密函数加密 P,再通过解密函数解密 P,会失去原始报文P。上面是对于数字明码加密的例子: 给定一段明文报文 P、一个编码函数 E 和一个数字编码密钥 e,就能够生成一段通过编码的密文 C。通过解码函数 D 和解码密钥 d,能够将密文 C 解码为原始的明文 P对称加密密钥和明码的配合,最后造成是相似原有明码的对称加密伎俩。对称加密说的是所用的加密密钥和解密密钥都是同一个,比拟流程的算法包裹:DES、Ttriple-DES(3DES)、RC2和RC4、ChaCh20、AES。 ...

September 11, 2022 · 4 min · jiezi

关于https:一次SSL握手异常我发现JDK还有发行版区别

原创:扣钉日记(微信公众号ID:codelogs),欢送分享,转载请保留出处。简介最近,咱们一个多机房部署的服务,调用方反馈有问题,在调用新加坡机房时失常,而调用印度机房则报SSL握手异样。 排查花了一些工夫,同时也积攒了一些教训,故记录一下,读完本文,你将理解到如下内容: SSL握手过程SSL握手异样时的排查思路与工具同版本的JDK,也是有所差别的废话不多说,往下看... 发现问题调用方调用印度机房服务时,报错信息如下: 这个异样是共事始终在看,通过一翻搜寻,狐疑是JDK版本的问题,通过询问调用方,发现调用方版本是1.8.0_91-b14,于是共事打算下载此版本JDK本地测试一下。 但这个版本JDK不太好找,于是共事就问了下我,我也找了一会也没找到,于是打算从源码编译一个此版本JDK。 通过一段时间,我通过源码编译进去了这个版本的jdk,同时共事也在网上找到了一个此版本的JDK,如下: JDK源码:https://github.com/openjdk/jdk8u ,tag抉择jdk8u91-b14即可。 网上的JDK包:https://github.com/ojdkbuild/... 弄到1.8.0_91-b14版JDK后,我和共事都进行了测试,奇怪的是,共事网上找的JDK重现了调用方的报错,即新加坡机房失常,而印度机房SSL握手失败,但我本人编译的JDK则两个机房都失常,咱们可是雷同版本的JDK啊! 好家伙,当初有2个疑难了,如下: 为啥新加坡机房失常,而印度机房SSL握手报错?为啥雷同版本的JDK,本人编译的没有问题?为啥SSL握手报错?因为我之前解决过一次SSL握手异样的bug,也写成了一篇文章 一次IOS告诉推送问题排查全过程,起因是因为客户端与服务端明码套件不统一导致的。 粗略来讲,SSL握手过程如下: 客户端发送Client Hello包给服务端,其中除了蕴含密钥协商相干的数据外,还会告知本人反对的明码套件列表。服务端收到Client Hello包后,会给客户端回复Server Hello,其中也蕴含了密钥协商数据,以及服务端抉择了哪个明码套件。但有一种状况是,客户端第一步发送的所有明码套件,服务端都不反对,因而服务端会回复一个SSL握手异样包,进而导致客户端失败报错。 注:明码套件,指的是加密零碎将多种密码学算法混合应用,以实现多种平安需要,如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,应用ECDHE实现密钥协商、RSA实现证书认证、AES实现加密、SHA256实现音讯防篡改。如何确认是否是下面起因呢?我进行了如下测试: 增加JVM参数-Djavax.net.debug=SSL,并调用失常的新加坡机房,看看SSL握手抉择的是什么明码套件。 $ bin/java -Djavax.net.debug=SSL SgSendRequest 能够看到,客户端提供了很多明码套件,服务端抉择了TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,那么极有可能是印度机房不反对此明码套件,导致印度机房申请失败,可用curl确认下: 应用curl以指定明码套件DHE-RSA-AES128-GCM-SHA256拜访印度机房。 $ curl -v https://in.xxx.be.srv.com --ciphers DHE-RSA-AES128-GCM-SHA256 能够发现,印度机房的确不反对此明码套件。 注:jdk明码套件名称与curl的名称略微有点不统一,curl的能够在这里查找 https://curl.se/docs/ssl-ciph...这也就是说,此JDK反对的密码学套件与印度机房反对的密码学套件没有交加,服务端无奈选出一个单方都反对的明码套件,能够进一步确认下,如下: jdk反对的明码套件能够通过SSLServerSocketFactory.getSupportedCipherSuites()获取。 $ bin/jrunscript -e "print(java.util.Arrays.toString(javax.net.ssl.SSLServerSocketFactory.getDefault().getSupportedCipherSuites()))" 印度机房反对的明码套件能够应用nmap扫描获取,如下: $ nmap --script ssl-enum-ciphers -p 443 in.xxx.be.srv.com 通过我的查看,发现jdk的明码套件与印度机房的明码套件的确没有交加,印度机房只反对一些较新的明码套件,这就是调用印度机房服务时SSL握手失败的起因。 用雷同的办法,我也确认了新加坡机房,发现新加坡机房的明码套件与jdk的明码套件有交加,而TLS_DHE_RSA_WITH_AES_128_GCM_SHA256就在其中。 要解决这个问题也比拟容易,要么让调用方降级jdk以反对新的明码套件,要么让印度机房SRE调整SSL配置以反对旧的明码套件,咱们抉择了前者。 那么,还有一个问题,为啥我本人编译的同版本的JDK就没有问题呢? 为啥自行编译的JDK没有问题?有点蛊惑,我用下面雷同办法确认了一下我本人编译的JDK反对哪些套件,如下: $ bin/jrunscript -e "print(java.util.Arrays.toString(javax.net.ssl.SSLServerSocketFactory.getDefault().getSupportedCipherSuites()))" 能够发现,我本人编译的JDK,反对ECDH系列的新密码套件,这是为啥? 为了弄清区别,我应用问题JDK进行了调试,如下: import javax.crypto.KeyAgreement;import java.security.NoSuchAlgorithmException;public class EcdhTest { public static void main(String[] args) throws NoSuchAlgorithmException { KeyAgreement ka = KeyAgreement.getInstance("ECDH"); System.out.println(ka); }}在问题JDK外面,会报如下异样: ...

August 28, 2022 · 1 min · jiezi

关于https:我们来聊聊HTTPS吧

网络安全事实上在《计算机网络安全引论》 这篇中曾经简略的探讨过了,《计算机网络安全引论》能够了解为本系列文章的总纲。前言其实在没理解HTTPS之前,我对HTTPS的了解就是HTTPS = HTTP + SAFE,意为平安的HTTP协定,其实这么了解也没问题,HTTPS就是让HTTP变的平安,那说到平安咱们该如何定义这个平安呢? 我认为有以下几个方面是值得关注的: 保密性这一点很好了解,数据在网络中传输有被他人截获的危险,那咱们天然冀望就算是数据被截获,也无奈从截获的数据中提取到无效信息。 为了做到这一点,咱们就须要这种明码技术。 端点甄别网络传输不同于当面谈话,在通信过程中咱们不能齐全信赖第三方,因为第三方可能是混充的。即便当面谈话,也有对应的危险,因为对面有可能还是易容的,这里想到了秦时明月,小皮一下。信息的完整性那么即便咱们验证了第三方的身份,那么报文也有被篡改的危险,咱们仍然不能认为网络是平安的,还必须确认收到运行时安全性-访问控制对数据进行访问控制,必须对拜访网络的权限加以控制。HTTPS 实现了 保密性、端点甄别、信息完整性这三局部,咱们将分篇介绍这三点。下面的HTTPS的S其实是TLS/SSL。 加密技术简介什么是加密?从技术上讲,它是将人类可读的明文转换成不可了解文本(也称为密文的过程)。 下面的”Hello world” 在AES的作用下变成了一堆看起来毫无法则的字符,其实下面还漏了密钥,残缺的过程是上面这样: 那什么是密钥: 加密算法中用于更改数据而应用的字符串,以便混同须要加密的数据,以便使其看起来是随机的。某种程度上,咱们能够了解为AES加密通过密钥将咱们须要加密的数据关在了一串看起来随机的密文中,那对应的就有解密,也就是AES通过密钥将咱们的数据还原为源数据。在AES上面,加解密的密钥都是一种,咱们一帮称之为对称加密。在对称加密中,另一种为人所熟知的加密办法为DES,于1977年被美国联邦选为加密规范,然而通过了几十年的钻研,56位的DES曾经不再被认为是平安的了,前面的学者们提出了三重DES对DES进行改良。 然而对称密钥也有对应的问题,在传输过程中为了实现加解密,咱们首先要将密钥进行传输,但在网络中传输就有可能被人截获,由此就引出了非对称加密体制,也称公钥明码体制(公开密钥明码体制),由斯坦福大学的Diffie与Hellman于1979年所提出。公钥明码体制应用不同的加密密钥与解密密钥。 在公钥明码体制提出不久,人们就找到了三种公钥明码体制。目前最驰名的是由美国三位科学家Rivest、Shamir和Adelman提出并在1978年正式发表的RSA体制,它是一种基于数论中的大数合成问题的体制。 在公钥明码体制中,加密密钥PK(Public Key)是能够向公众公开的,而解密密钥SK(Secret Key)则是须要窃密的。加密算法、解密算法也是公开的。 你也能够用私钥加密,用公钥解密。那看到这里有同学就会问了,你说在通信中用对称加密,密钥会被截获,那非对称加密就能不被截获了? 中间人攻打到身份甄别咱们将目前通信的单方称之为A和B,在通信过程中应用非对称加密,B在首次通信的时候发送本人的公钥PK1,而后A接管到之后用PK1对本人的私钥PK2进行加密: 而后A再向B发送本人的公钥,B用A的公钥对本人的私钥进行加密,这样单方就彼此替换了公私钥。因为私钥不公开,所以就算是其他人截获了A给B的报文,也解不开。 所以A和B就能欢快的实现通信了吗?当然不是,中间人只须要混充A就行了,在收到到B第一次发的PK1的时候,用PK1对本人的私钥进行加密,而后发送给B,混充A。同时将本人的公钥发送给A,混充B,这样整个通信都被毁坏了。由此咱们就引出了身份甄别问题,咱们怎么晓得通信的对方是咱们要通信的。 这就须要一个有一个值得信赖的机构来将公钥与其对应的实体进行绑定,这也就是认证核心(Certification Authority), 每个实体都由CA发来的证书(Certificate), 外面有公钥及拥有者标识的信息。此证书被CA进行了数字签名,避免被篡改,公钥用来验证某个公钥是否为哪个实体所领有(通过向CA查问)。 应用HTTPS连贯的网站,在浏览器的地址栏,有个锁的标记: 所以如果你想要应用HTTPS协定,还不是那么简略的事件,首先须要向CA机构申请证书,我感觉这个证书某种程度上能够了解为身份证号。咱们的外围问题其实还是为了散发公钥,行将通信单方的私钥进行替换,为了防止被第三方截获公钥,CA机构为每个证书也筹备了公钥、私钥。当初依然辛苦A和B,目前咱们将A更名为胡辣汤,将B更名为水煎包,来介绍有了CA机构染指之后的流程。 首先水煎包为了自证身份将本人的公钥以及个人信息制作成了证书提交给了CA机构,CA机构验证完身份之后, 会用本人的私钥计算出证书的数字签名,有同学看到这里可能会问,非对称加密中私钥不是用来解密的吗?还没加密,用私钥能解密吗?这里用私钥计算出来的数字签名只是为了失去某种不可读的明文,避免证书在由水煎包给到胡辣汤的途中,被人篡改,用于验证身份。凑合中间人攻打,确认这个证书确确实实是由水煎包发过来的,跟我通信的的确是它说生成的那个。 在验证完身份之后,胡辣汤就提取到了证书外面的公钥,这里其实还是有危险,尽管没方法篡改,然而能够实现监听,第三方劫持到了证书,也取得了密钥...... 所以这里就引出了双向认证,即服务端确认客户端的身份,客户端也要向服务端提交本人的身份阐明。 下面咱们提到了对签名进行验证,个别的术语咱们称之为甄别,咱们个别不采纳非对称加密对报文进行甄别,起因在于对于较长的报文进行数字签名会使计算机减少十分大的累赘,因为这须要进行比拟多的工夫进行运算。咱们的愿景是找出一种绝对简略的办法对报文进行甄别,由此引出了明码散列函数(cryptographic hash function)。 明码散列函数简介提到明码散列函数,可能大家都比拟生疏,然而散列的对应英文hash,还有另外一个名字叫哈希,我想Java程序员曾经联想到了HashMap,对就是那个hash, 基本上每个key产生的hash值是惟一的,不同的key,可能输入雷同的hash值,咱们称之为hash碰撞。然而明码散列函数,绝对于HashMap来说,有一点不同的就在于: 找到两个不同的报文,它们具备雷同的明码散列函数输入,在计算上是不行的,也就是说,明码散列函数事实上是一种单向函数,不可逆。所以MD 5不是一种加密算法,而是一种明码散列函数。 目前来说比拟为人熟知的实用明码散列函数为MD5和SHA-1。MD 是Message Digest的缩写,中文译为报文摘要,所以MD5的意识是MD5的第五个版本。MD5的设计者Rivest曾提到一个猜测,即依据给定的MD5摘要算法,要找出一个与原来报文有雷同报文摘要的另一报文,其难度在计算上是不可能的。中国学者王小云在2004年发表了轰动世界的密码学论文,证实能够用零碎的办法找出一对报文,这对报文具备雷同的MD5摘要,而这仅需15分钟。 留神不是给定一个MD5值,找到另一个报文具备雷同的报文值,而是找出一对报文,具备雷同的MD5摘要。随着陆续的倒退,MD5最终被另一种平安散列算法的规范(Secure Hash Algorithm)所代替,也就是SHA,尽管在某种程度上来说SHA比MD5更平安,然而在计算上绝对于MD5来说却又慢一些。其实SHA也没达到设计要求,而且也被王小云传授的钻研团队攻破。随后不久就又推出了SHA-2,SHA-3. 证书的规范格局为了使CA证书具备对立的格局,ITU-T制订了X.509协定规范,用来形容证书的构造。在古代网络通讯中通行的公钥证书规范名为X.509 V3,由RFC-5280定义。X.509 V3 格局被广泛应用在TLS/SSL等泛滥加密协议中,它规定公钥证书应该蕴含如下内容: 证书 序列号(Serial Number): 用以辨认每一张证书,在作废证书的时候会用到它版本: 证书的标准版本公钥(Public Key): 咱们的外围目标就是散发公钥,因而显然要把公钥放在证书外面公钥指纹: 即公钥的 Hash 值,以后大部分证书都应用 SHA256 计算此指纹公钥用处(Key Usage + Extended Key Usage): 记录了此证书可用于哪些用处——数字签名、身份认证等主体 ...

August 13, 2022 · 2 min · jiezi

关于https:八图解HTTP-HTTPS

知识点HTTPS 是什么?HTTP有哪些毛病?SSL、TLS为啥总是被放到一起,有什么区别?SSL、TLS历史背景。SSL的加密细节,加密算法理解。SSL的加密流程。HTTP毛病明文通信,内容容易被窃听。无身份验证,容易受到假装申请攻打。无奈验证报文残缺,无奈防篡改。除了协定自身的破绽之外,一些编程语言也可能编写出不平安的网络应用程序。 明文窃听既然HTTP是不加密通信的,那么天然会好奇它是如何被窃听的。 所谓的窃听是因为TCP/IP模型的物理层、数据链路层、网络层这几层所须要的设施反对都不可能是个人用户所具备的货色,所以在这几个环节进行通信窃听是齐全有可能的。 整个窃听的过程如下图,在网络信息通过网卡收回去的那一刻,网络包两头被“加工”的可能性就会急剧减少。这样的状况就好比一个快递从站点收回去的一刻,就有可能呈现各种各样的状况。 此外加密通信并不是保障信息不被窃听,而是在窃听方拿到网络包之后无奈破解明文信息内容,这样“加密”的个性就算是达到了。 常见的窃听形式比方WireShark,能够对于申请进行抓包解决。 如何避免窃听 避免明文窃听通过加密进行爱护解决的形式有两种: 通信加密: SSL(Secure Socket Layer,安全套接层),也就是HTTPS外面的S,实现形式是在HTTP的根底上组合应用SSL通信。TLS(Transport Layer Security,平安层传输协定)致力于代替SSL协定,是目前的支流协定(SSL已在2015年受到废除)。内容加密: 在传输之前对于内容明文依照某种特定规定加密,比方最常见的OAuth2。无身份验证无身份验证体现在上面几个方面: 人人都能够发送申请无奈确认响应的服务器是否实在。无奈确认发送申请的客户端是否实在。无奈验证发送方是否合乎权限。无奈断定申请起源。无奈阻止无意义攻打(Ddos攻打)。进行身份验证 SSL/TLS 须要通过第三方合乎资质的机构进行数字认证,能取得这一机构认证自身就是非常麻烦的事件,所以通常颁发认证证书的服务器根本都能够取得加密保障,同时确认申请方的证书能无效的管制申请起源,对于客户端也能分明申请的对方是非法平安的。 无奈验证报文残缺申请在传输和响应的过程中受到拦挡并且篡改攻打的伎俩叫做中间人攻打(Man-in-the-Middle attack,MITM),在许多状况下这是很简略的(例如,在一个未加密的Wi-Fi 无线接入点的承受范畴内的中间人攻击者,能够将本人作为一个中间人插入这个网络)。 一个中间人攻打能胜利的前提条件是攻击者能将本人伪装成每一个参加会话的终端,并且不被其余终端识破。中间人攻打是一个(不足)互相认证的攻打。 如何避免篡改 针对中间人攻打,HTTP通常应用 MD5 和 SHA-1 等散列值校验的办法,以及用来确认文件的数字签名办法进步安全性。此外Web 网站也会提供相应的以 PGP(Pretty Good Privacy,完满隐衷) 创立的数字签名及 MD5 算法生成的散列值。 然而这些伎俩仍然无奈齐全保障PGP不会被篡改,HTTP自身的可靠保证过于不足 。 SSL协定能够验证参加通信的一方或单方应用的证书,校验是否是由权威的受信赖的数字证书认证机构颁发,并且能执行双向身份认证。 PGP 是用来证实创立文件的数字签名,MD5 是由单向函数生成的散列值。以上内容便是HTTP自身裸露的许多缺点导致的信息透露问题,也是为什么要引入SSL/TLS 协定来强化HTTP的协定的几个理由。上面咱们来聊聊SSL/TLS的历史。 SSL/TLS 历史当初咱们探讨的SSL实际上是TLS,因为SSL协定自身的各种问题早曾经被废除了,目前支流的SSL实际上应用的是TLS的协定标准。 然而因为SSL被广为流传,联合历史起因,所以仍然沿用这样的说法并不会产生歧义。 接着咱们得明确HTTP+ 加密 + 认证 + 完整性爱护=HTTPS这个HTTPS的含意。 SSL/TLS 也是相似Cookie和Session一样,在不烦扰协定自身运作的状况下对于HTTP协定自身进行爱护和加强。 应用HTTPS申请之后,在浏览器输出地址的时候须要将本来的HTTP转化为HTTPS。 无论是OSI 七层模型还是TCP/IP模型,都为每个通信层的职责划分了明确的界线,HTTP是依赖TCP进行数据传输的,然而TCP为了保障繁多职责和高效不会搭理HTTP的平安申请(自身也没有),他只负责数据包的收发,所以TCP是不能轻易动的。而HTTP同样历史倒退悠久,也难以在短时间内对于协定订正和加强。 能够看到,HTTP 是应用层协定,TCP是传输层协定,HTTP依赖TCP实现数据传输,所以 SSL/TLS 必定是在应用层或者占据着传输层? 传输层必不可能,因为无奈HTTP兼容,放到应用层这一说法其实也不齐全精确。实际上SSL在TCP和HTTP的两头,相似处在两个利用的夹层外面,也就是所谓的架构难题的绝招 -- 遇事不决加一层。(因为干预任意一层都引出更多的问题)。 两头夹层不晓得为什么让我想到了《黑客帝国3》的那个车站。 明确了SSL/TLS 所处地位,咱们持续理解SSL/TLS 的历史。 在许多参考资料中很多时候咱们一会儿看到SSL的形容,一会儿看到TLS的形容,首先得再分清两者自身的定义。 如书中所言: ...

August 11, 2022 · 3 min · jiezi

关于https:Mixed-Content-The-page-at-was-loaded-over-HTTPS

本地配置代理 https://web.unofficial.cn 当前,本地服务申请的有 http://localhost:3000 的本地资源,chrome 会提醒 Mixed Content: The page at 'https://web.unofficial.cn/xxx' was loaded over HTTPS, but requested an insecure favicon 'http://localhost:3000/static/favicon.ico'. This request has been blocked; the content must be served over HTTPS.解决方案:设置-隐衷设置与安全性-不平安的内容-容许

July 12, 2022 · 1 min · jiezi

关于https:https中SSL加密过程详解看这一篇就够了

咱们所说的https实际上就是平安版本的http,是http+ssl加密实现的。 SSL握手协定1.客户端:发动一个 HTTPS 申请,请给我公钥2.服务器:这是我的证书,外面有加密后的公钥3.客户端:解密胜利当前给服务器用公钥非对称加密后的随机数4.服务器:服务器返回确认收到随机数,当前就用它对称加密数据 知识点1https应用的是对称加密和非对称加密的联合形式咱们的证书验证局部采纳的是非对称加密,信息传输局部采纳的是对称加密 建设之后是内容的双向传递 须要平安,咱们就须要加密1对称加密,用一把钥匙加密,同一把钥匙开锁毛病:十分的不平安,如果被窃取到了钥匙和密文的话,就能够获取数据(不平安)那怎么办?应用非对称加密形式2非对称加密的形式:有公钥和私钥两把钥匙,把公钥给对方,并且对方应用公钥进行加密,并把加密的密文传输过去。(公钥加密,只有私钥能解密(本人不行),反之一样)。所以解决了对称加密不平安的问题。(即便你失去了密文和加密应用的公钥,你也无奈解开密文)毛病1:怕他人假冒,如果有人把公钥拦挡,发送本人的公钥给对方,而后对方应用本人的公钥加密,并拦挡加密后的密文就能够获取数据了。(假冒)毛病2:我当然也能够进行毁坏,篡改加密之后的密文,我的不到的你也别想得到,我就是想搞一搞破坏。(篡改,毁坏)。毛病3:非对称加密效率太低,太慢了那么,咱们怎么解决效率低和保障发送公钥的人的身份就是正确的人,保障传输数据的完整性,未被毁坏呢?(CA认证机构颁发证书,数字签名,数组证书)3 CA数字证书(CA认证机构颁发证书)所以咱们引入了公正的第三方权威机构这个CA机构会给服务端发一个数字证书,这个证书包含服务端的一些信息和服务端的公钥那咱们首先服务端会发送本人数组证书给客户端(这也是一个发送公钥的过程),我通过数字证书的类别(是哪一家机构颁布的),找到机构的核心的公钥。解码数字证书,解码正确,示意是证书是真的,再确认证书上的信息,正确的话就获取服务端的公钥(公钥的传递,公钥是在数字证书外面的)前面,咱们应用公钥对数字签名进行解密,确认完整性4数字签名为了解决,确认密文没有被批改过。咱们应用了数字签名。数字签名:是咱们对须要传输的内容进行编码操作,变成hash值。并且对hash值进行私钥的加密。(这一个通过hash和加密的操作是咱们所说的数字签名)最初咱们把没有操作的原文和通过一系列操作的数字签名一起发给服务端。那么咱们对原文进行进行hash操作和公钥解析数字签名的进行比照,确认是对的人发送的,并且内容没有通过篡改和毁坏。毛病:我没有方法保障公钥传递的平安,不能保障发送公钥的人是对的,而不是他人伪造的 因为咱们通过了一系列的证书验证,确定了发送数字证书的人的身份是正确的,那咱们最初的数据传输应用一个随机数,对随机数的公钥加密,私钥解密,制订最初传递数据所采纳的对称加密形式序列,传递最初的数据 问题1:那么咱们的随机数被截取了怎么办? 我感觉上面的答案不对,如果我随机数被篡改,不是就能够轻而易举的取得前面对称加密的数据嘛??? 其实 HTTPS 并不蕴含对随机数的平安保障,HTTPS 保障的只是传输过程平安,而随机数存储于本地,本地的平安属于另一平安领域,应答的措施有装置杀毒软件、反木马、浏览器降级修复破绽等。 问题2:如果我假冒证书怎么办?(每个人都能够制作证书)尽管我拿到了证书,然而证书是通过CA机构私钥进行加密的,就算拿到了也没方法拿到CA的私钥,对其信息进行加密假冒正规的服务端。 问题3:我对证书进行解密,拿到了公钥,拿着公钥对随机数进行加密。取得最初堆成加密替换的数据怎么办? 问题4:证书机构的公钥在哪里取得?计算机的操作系统里或者浏览器里会内置一些罕用的公钥。操作系统只会存储权威机构的公钥 问题5:SSL过程这么简单,会很慢吗?SSL 握手的工夫并不是只能用来传递加密信息,还能够承当起客户端和服务器沟通 HTTP2 兼容状况的工作。因而从 HTTPS 切换到 HTTP2.0 不会有任何性能上的开销,反倒是得益于 HTTP2.0 的多路复用等技术,后续能够节约大量工夫。如果把 HTTPS2.0 当做指标,那么 HTTPS 的性能损耗就更小了,远远比不上它带来的安全性晋升。参考链接:https://sslhow.com/ssl-certif...

June 28, 2022 · 1 min · jiezi

关于https:HTTPS加密协议详解三PKI-体系

1、RSA身份验证的隐患 身份验证和密钥协商是TLS的根底性能,要求的前提是非法的服务器把握着对应的私钥。但RSA算法无奈确保服务器身份的合法性,因为公钥并不蕴含服务器的信息,存在安全隐患: 客户端C和服务器S进行通信,两头节点M截获了二者的通信; 节点M本人计算产生一对公钥pub_M和私钥pri_M; C向S申请公钥时,M把本人的公钥pub_M发给了C; C应用公钥 pub_M加密的数据可能被M解密,因为M把握对应的私钥pri_M,而 C无奈依据公钥信息判断服务器的身份,从而 C和 M之间建设了"可信"加密连贯; 两头节点 M和服务器S之间再建设非法的连贯,因而 C和 S之间通信被M齐全把握,M能够进行信息的窃听、篡改等操作。 另外,服务器也能够对本人的收回的信息进行否定,不抵赖相干信息是本人收回。 因而该计划下至多存在两类问题:中间人攻打和信息抵赖。 中间人攻打和信息抵赖2、身份验证CA和证书 解决上述身份验证问题的要害是确保获取的公钥路径是非法的,可能验证服务器的身份信息,为此须要引入权威的第三方机构CA(如沃通CA)。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时可能为使用者提供证书验证服务,即PKI体系(PKI基础知识)。 根本的原理为,CA负责审核信息,而后对要害信息利用私钥进行"签名",公开对应的公钥,客户端能够利用公钥验证签名。CA也能够撤消曾经签发的证书,根本的形式包含两类 CRL 文件和 OCSP。CA应用具体的流程如下: 身份验证CA和证书a.服务方S向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证; b.CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否非法,是否领有域名的所有权等; c.如信息审核通过,CA会向申请者签发认证文件-证书。 证书蕴含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA的信息、无效工夫、证书序列号等信息的明文,同时蕴含一个签名; 签名的产生算法:首先,应用散列函数计算公开的明文信息的信息摘要,而后,采纳 CA的私钥对信息摘要进行加密,密文即签名; d.客户端 C 向服务器 S 发出请求时,S 返回证书文件; e.客户端 C读取证书中的相干的明文信息,采纳雷同的散列函数计算失去信息摘要,而后,利用对应 CA的公钥解密签名数据,比照证书的信息摘要,如果统一,则能够确认证书的合法性,即公钥非法; f.客户端而后验证证书相干的域名信息、无效工夫等信息; g.客户端会内置信赖CA的证书信息(蕴含公钥),如果CA不被信赖,则找不到对应 CA的证书,证书也会被断定非法。 在这个过程留神几点: a.申请证书不须要提供私钥,确保私钥永远只能服务器把握; b.证书的合法性依然依赖于非对称加密算法,证书次要是减少了服务器信息以及签名; c.内置 CA 对应的证书称为根证书,颁发者和使用者雷同,本人为本人签名,即自签名证书(为什么说"部署自签SSL证书十分不平安") d.证书=公钥+申请者与颁发者信息+签名; 3、证书链 如 CA根证书和服务器证书两头减少一级证书机构,即两头证书,证书的产生和验证原理不变,只是减少一层验证,只有最初可能被任何信赖的CA根证书验证非法即可。 a.服务器证书 server.pem 的签发者为两头证书机构 inter,inter 依据证书 inter.pem 验证 server.pem 的确为本人签发的无效证书; b.两头证书 inter.pem 的签发 CA 为 root,root 依据证书 root.pem 验证 inter.pem 为本人签发的非法证书; ...

June 28, 2022 · 1 min · jiezi

关于https:HTTPS加密协议详解三PKI-体系

1、RSA身份验证的隐患 身份验证和密钥协商是TLS的根底性能,要求的前提是非法的服务器把握着对应的私钥。但RSA算法无奈确保服务器身份的合法性,因为公钥并不蕴含服务器的信息,存在安全隐患: 客户端C和服务器S进行通信,两头节点M截获了二者的通信; 节点M本人计算产生一对公钥pub_M和私钥pri_M; C向S申请公钥时,M把本人的公钥pub_M发给了C; C应用公钥 pub_M加密的数据可能被M解密,因为M把握对应的私钥pri_M,而 C无奈依据公钥信息判断服务器的身份,从而 C和 M之间建设了"可信"加密连贯; 两头节点 M和服务器S之间再建设非法的连贯,因而 C和 S之间通信被M齐全把握,M能够进行信息的窃听、篡改等操作。 另外,服务器也能够对本人的收回的信息进行否定,不抵赖相干信息是本人收回。 因而该计划下至多存在两类问题:中间人攻打和信息抵赖。 中间人攻打和信息抵赖2、身份验证CA和证书 解决上述身份验证问题的要害是确保获取的公钥路径是非法的,可能验证服务器的身份信息,为此须要引入权威的第三方机构CA(如沃通CA)。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时可能为使用者提供证书验证服务,即PKI体系(PKI基础知识)。 根本的原理为,CA负责审核信息,而后对要害信息利用私钥进行"签名",公开对应的公钥,客户端能够利用公钥验证签名。CA也能够撤消曾经签发的证书,根本的形式包含两类 CRL 文件和 OCSP。CA应用具体的流程如下: 身份验证CA和证书a.服务方S向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证; b.CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否非法,是否领有域名的所有权等; c.如信息审核通过,CA会向申请者签发认证文件-证书。 证书蕴含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA的信息、无效工夫、证书序列号等信息的明文,同时蕴含一个签名; 签名的产生算法:首先,应用散列函数计算公开的明文信息的信息摘要,而后,采纳 CA的私钥对信息摘要进行加密,密文即签名; d.客户端 C 向服务器 S 发出请求时,S 返回证书文件; e.客户端 C读取证书中的相干的明文信息,采纳雷同的散列函数计算失去信息摘要,而后,利用对应 CA的公钥解密签名数据,比照证书的信息摘要,如果统一,则能够确认证书的合法性,即公钥非法; f.客户端而后验证证书相干的域名信息、无效工夫等信息; g.客户端会内置信赖CA的证书信息(蕴含公钥),如果CA不被信赖,则找不到对应 CA的证书,证书也会被断定非法。 在这个过程留神几点: a.申请证书不须要提供私钥,确保私钥永远只能服务器把握; b.证书的合法性依然依赖于非对称加密算法,证书次要是减少了服务器信息以及签名; c.内置 CA 对应的证书称为根证书,颁发者和使用者雷同,本人为本人签名,即自签名证书(为什么说"部署自签SSL证书十分不平安") d.证书=公钥+申请者与颁发者信息+签名; 3、证书链 如 CA根证书和服务器证书两头减少一级证书机构,即两头证书,证书的产生和验证原理不变,只是减少一层验证,只有最初可能被任何信赖的CA根证书验证非法即可。 a.服务器证书 server.pem 的签发者为两头证书机构 inter,inter 依据证书 inter.pem 验证 server.pem 的确为本人签发的无效证书; b.两头证书 inter.pem 的签发 CA 为 root,root 依据证书 root.pem 验证 inter.pem 为本人签发的非法证书; ...

June 28, 2022 · 1 min · jiezi

关于https:哈希游戏开发方案逻辑丨哈希竞猜游戏开发玩法丨幸运哈希竞猜分析

什么是哈希/ Hash(wxID:StPv888)哈希又称作“散列”,是一种数学计算机程序,它接管任何一组任意长度的输出信息,通过哈希算法变换成固定长度的数据指纹输入模式,如字母和数字的组合,该输入就是“哈希值”。 总体而言,哈希算法可了解为一种音讯摘要算法,将音讯或数据压缩变小并领有固定格局。因为其单向运算具备肯定的不可逆性,哈希算法已成为加密算法中一个形成局部,但残缺的加密机制不能仅依赖哈希算法。 在一个cache零碎中,须要实现一个域名白名单,域名为下列数据:、、sohu.com 等该白名单须要在程序启动时加载一次,次要执行查问操作。请设计一个数据结构和相应的初始化查问函数,使得检索尽可能的快。(不能应用stl::map,等等key-value刑类库)。咱们能够看到,该题目提出了字符串的疾速查找,并且只加载一次。应用Hash比拟好。 咱们可能首先就是想到应用 C++ 中的 MAP ,题目中给出了不容许应用MAP,那么必定第二抉择就是应用Berkeley DB (DB)这种的文件数据库了,然而题目中显著提出不容许应用key-value类型库。 咱们思考Berkeley DB (DB)的原理能够知道,这个就是一个Hash的过程,map其实也是hash的思维。 本人设计一个hash零碎咯。抵触解决… 字符串hash可能就想到应用ELFhash算法,次要剖析下ELFHash算法。 ELFhash函数在UNIX零碎V 版本4中的“可执行链接格局”( Executable and Linking Format,即ELF )中会用到,ELF文件格式用于存储可执行文件与指标文件。ELFhash函数是对字符串的散列。它对于长字符串和短字符串都很无效,字符串中每个字符都有同样的作用,它奇妙地对字符的ASCII编码值进行计算,ELFhash函数对于可能比拟平均地把字符串散布在散列表中。这些函数应用位运算使得每一个字符都对最初的函数值产生影响。 // ELF Hash Function unsigned int ELFHash(char *str) { unsigned int hash = 0; unsigned int x = 0; while (*str) { hash = (hash << 4) + (*str++);//hash左移4位,以后字符ASCII存入hash低四位。 if ((x = hash & 0xF0000000L) != 0) {//如果最高的四位不为0,则阐明字符多余7个,如果不解决,再加第九个字符时,第一个字符会被移出,因而要有如下解决。 //该解决,如果对于字符串(a-z 或者A-Z)就会仅仅影响5-8位,否则会影响5-31位,因为C语言应用的算数移位 hash ^= (x >> 24); ...

June 2, 2022 · 1 min · jiezi

关于https:你不知道的-HTTPS-压测

简介:随着互联网安全标准的遍及,应用 HTTPS 技术进行通信加密,实现网站和 APP 的可信拜访,曾经成为公认的平安规范。本文将介绍针对 HTTPS 协定做压力测试的关注点,以及应用 PTS 做 HTTPS 压测的技术劣势和最佳实际。 作者:拂衣 引言随着互联网安全标准的遍及,应用 HTTPS 技术进行通信加密,实现网站和 APP 的可信拜访,曾经成为公认的平安规范。本文将介绍针对 HTTPS 协定做压力测试的关注点,以及应用 PTS 做 HTTPS 压测的技术劣势和最佳实际。 常见的网站或者 APP 中须要做压测的 3 种场景: 新开发的零碎或性能上线前须要理解其性能水位状况。对系统进行技术调优、零碎扩容前后通过压测进行性能比对。加入平台流动前对系统进行性能评估。什么是 HTTPSHTTPS 的英文全称是:Hyper Text Transfer Protocol over Secure Socket Layer,它是以平安为指标的 HTTP 通道。从全称上能够看出,它其实不是一种新的应用层协定,只是 HTTP 协定将通信接口用 SSL 代替了 TCP。HTTP 协定中,应用层 HTTP 间接与传输层 TCP 通信,在 HTTPS 协定中 ,应用层 HTTP 与 SSL 通信,SSL 再与传输层的 TCP 通信,具体如图: HTTPS 通过 SSL 层的加密,能够避免网站被篡改和劫持。上面咱们简略看下 HTTPS 是如何进行加密解密的: 首先客户端和服务端会协商加密算法和协定版本。协商完结后,服务端发送公钥给客户端,客户端拿到公钥后,生成一个随机明码串(Pre-master secret),并通过公钥加密返回给服务端。服务端应用私钥解密密文后,失去此随机明码串(Pre-master secret),之后通过协商的随机数和加密算法,生成对称加密密钥。至此,单方失去了同一个密钥,后续应用此密钥实现对称加密解密。 ...

May 13, 2022 · 2 min · jiezi

关于https:本地服务快速添加HTTPS

最近在做一个需要,须要用到HTTPS能力拜访,因为不是webpack起的我的项目,所以没方法间接用webpack-dev-server。 原本想用Nginx来做反向代理:通过openssl生成证书,配置到nginx,映射9000端口(跑在80端口须要sudo)到本地服务的8080端口。然而发现了一个更简略的形式:应用local-ssl-proxy local-ssl-proxy是一个实用于本地开发的,应用自签名证书的简略 SSL HTTP 代理。 #### 装置npm install -g local-ssl-proxy#### 运行 本地服务运行在8080端口,能够映射到9000端口进行拜访,如果映射到80端口则须要管理员权限来运行。 local-ssl-proxy --source 9000 --target 8080再配置一下host(举荐应用SwitchHosts!客户端来治理host,新增和调整都更加不便) 127.0.0.1 local.ctrip.com就能够通过https://local.ctrip.com:9000/xxxx间接拜访到跑在8080端口的服务了。 欢送关注微信公众号“混沌前端”

April 6, 2022 · 1 min · jiezi

关于https:一张证书引发的噱案

- 引 -我也没想到在神策数据这大半年能遇到好几次和证书相干的问题。 - 起 -2021年9月3号,一个新客户接入到咱们的 SaaS 零碎。在某个环节,咱们会给客户发个 HTTPS 申请,没想到居然遇到了个 SSLHandshakeException: Caused by: javax.net.ssl.SSLHandshakeException: ... unable to find valid certification path to requested target在服务器上用 curl 试一把,也报错: $ curl -v https://some.domain/CAfile: /etc/pki/tls/certs/ca-bundle.crt...curl: (60) Peer's Certificate issuer is not recognized.但用浏览器关上这个 URL,却是没问题的,这阐明问题应该出在咱们的服务器端。 - 析 -咱们晓得,HTTPS 是靠证书保障通信安全的;但客户端如何保障服务端给的证书是可信的呢? 因为证书总是由某个证书颁发机构(Certificate issuer,或 Certificate Authority,简写成 CA)签发的,如果咱们当时将一批可信的证书颁发机构存储在本地,就能够在发动申请的时候判断证书是否可信了。 有时状况会更简单一些:某些机构不在咱们的列表里,但他的证书是由咱们信赖的某个机构颁发的,咱们也认为他是可信的,因而他颁发的证书也是可信的。 于是这就形成了一个信赖链,链的末端是「根证书颁发机构」(Root CA),这些机构通常是国内上公认牢靠的大型机构,或者国家权威机关背书的机构。 了解了这点,就能够揣测,该当是咱们服务器上的机构列表没有及时更新;只有把该客户证书的颁发机构退出本地的列表就应该能解决该问题。 - 解 -再细看下面 curl 命令的输入,有一行 CAfile: /etc/pki/tls/certs/ca-bundle.crt,这就是 curl 应用到的证书颁发机构列表。 以 www.baidu.com 为例,咱们能够通过如下命令获取客户证书的信赖链: $ openssl s_client -showcerts -servername server -connect www.baidu.com:443 > cacert.pem在失去的 cacert.pem 中,咱们能够看到如下内容(略作简化): ...

March 13, 2022 · 2 min · jiezi

关于https:详解HTTP-与-HTTPS-的不同之处

许多站长都晓得应该将网站迁徙到HTTPS,然而为什么须要这样做呢?这就得先从HTTP和HTTPS的区别开始说起。对一般互联网用户而言,HTTP和HTTPS的区别在于浏览器地址栏的奥妙变动,然而对他们的数据来说又是至关重要的。 什么是HTTP?HTTP协定的显示成果 每个以 HTTP 结尾的 URL 链接都应用一种称为“超文本传输协定”的根本协定,现已倒退成为通过 Internet 传递信息的最常见形式。该网络协议规范容许 Web 浏览器和服务器通过遵循传输控制协议 (TCP) 连贯替换数据进行通信。 同时,HTTP 也被称为“无状态零碎”,这意味着它能够按需连贯,无需任何类型的固定连贯。当用户单击一个链接,零碎向服务器发送连贯申请。一旦服务器响应申请,数据就会立刻显示在Web浏览器上。此连贯速度是由服务器和零碎之间的连贯决定的。连贯越快,数据出现给用户的速度就越快。 HTTP 也是一种“应用层协定”,这意味着它专一于传输信息。这也为不法分子拦挡数据提供了便当,因为信息传输过程中可能窃取或篡改数据,此行为称之为“中间人攻打”。因而,须要一种平安的形式通过 Internet 进行通信, 这就是 HTTPS 协定的用武之地。 什么是HTTPS?HTTPS协定的显示成果 首先您须要晓得的一点是:HTTPS 不是 HTTP 的对立面,两者在实质上是雷同的,因为它们都采纳雷同的“超文本传输协定”,使申请的Web数据可能显示在网站上。 HTTPS 是一种透过计算机网络进行平安通信的传输协定,缩写中的“S”是代表Secure。简略地说,HTTPS是应用TLS/SSL证书运行的,提供对网站服务器的身份认证,并在Web 服务器和浏览器客户端之间建设起加密通道。 HTTPS的劣势所在? 数据加密 HTTPS通过利用SSL/TLS 加密,可避免通过 Internet 发送的数据(用户名,银行卡明码等)被第三方拦挡和读取。同时,HTTPS可建设起 Web 服务器和浏览器之间平安的通信会话。 身份验证 HTTPS 通过 SSL/TLS 协定进行的弱小身份验证。Web 浏览器会查看网站平安证书并验证是否由非法机构颁发的,身份验证对于现在黑客肆虐的网络是十分有必要的,多因素身份验证,能够升高网络钓鱼或其余波及凭据偷盗的攻打的危险。 晋升搜寻排名 越来越多的网站应用HTTPS, 如未应用HTTPS的网站,浏览器将弹出正告,告知用户网站的不平安问题。因而,HTTPS曾经成为平安的标记。支流搜索引擎,如谷歌为了提供最好的用户体验,已将他们的排名算法设置为更偏向于HTTPS网站。如果您的站点显示HTTP,那么网站的排名可能会被HTTPS的站点所超过。 减少用户信赖 谷歌将用红色三角形标记HTTP网站,并用红色写上“不平安”标签。许多人可能会在他们正在浏览的网站上看到该标签时感到不安,因而越来越多的用户在拜访网站时专门寻找平安连贯。平安的连贯让用户释怀,因为您的网站是值得信赖的,并且能够平安爱护他们的信息。 攻打 HTTPS 连贯有多难?对 HTTPS 连贯的攻打通常分为 3 类: 通过明码剖析或其余协定弱点侵害 HTTPS 连贯的品质。危害客户端计算机,例如通过将歹意根证书装置到零碎或浏览器信赖库中。取得次要浏览器信赖的“流氓”证书,通常是通过操纵或毁坏证书颁发机构。这些攻打都是有可能的,但对于大多数攻击者来说,它们十分艰难并且须要大量费用。重要的是,它们都是有针对性的攻打,无奈针对连贯到任何网站的任何用户执行。 HTTP 与HTTPS的区别基于以上对 HTTP 和 HTTPS 的介绍,下表汇总了两者之间的次要区别。 展望未来《 Bulletproof SSL and TLS 》作者 Ivan Ristic说过:“为什么每个人都应该应用HTTPS,尤其是浏览器,它的不断改进,也迫使企业不断更新。”由此可见,HTTPS曾经成为一种趋势。 ...

March 3, 2022 · 1 min · jiezi

关于https:SiteLock是什么有什么功能

很多企业网站在预防网络攻击危险时抉择多个平安解决方案免得蒙受黑客和恶意软件的威逼,比方对对已知破绽执行每日破绽扫描,并定期修复更新,再加上应用web防火墙等计划;针对登录凭据泄露,启用多因素身份验证,对网站页面进行HTTPS加密等;如此多项操作比拟麻烦。恰好,SiteLock集多项性能于一体,帮忙您轻松应答常见网站平安危险。 SiteLock是什么?SiteLock 网站平安锁可在不同的网络环境中运行,主动查找、监测、扫描、修复安全漏洞和网络攻击,启用被动DDoS防护,装备最新平安工具和残缺的网站性能套件,全面爱护您的网站免受黑客和恶意软件的威逼,是一款功能强大的网站安全软件! SiteLock有哪些性能?网站日常扫描SiteLock能够每日扫描检测您的网站是否存在恶意软件、病毒、破绽和其余网络威逼,并在发现歹意内容时及时向您发送警报。 删除恶意软件SiteLock检测并主动从您的网站中删除歹意内容,为用户打造平安的体验感,无效爱护您的在线业务。 破绽修复可修复WordPress、Joomla! 和 MySQL等数据库的网站破绽,也可修复在您的 CMS 应用程序中的安全漏洞。 网站备份平安备份您的网站数据,让您免受勒索软件、硬件损坏或人为谬误导致数据失落的威逼,并能尽快恢复网站运行。 Web防火墙弱小的 Web 应用程序防火墙 (WAF) 可抵挡高级网络威逼,爱护您的网站和 Web 应用程序免受网络犯罪分子和歹意机器人的入侵。 CDN减速CDN反对零提早的大量网站流量,能够进步网站速度,从而进步搜索引擎的排名,给予用户无提早的最佳体验。 应用弱小的SiteLock,仅需86元/月起,即可全面而又轻松爱护您的网站免受黑客和恶意软件的威逼,何乐而不为呢?

February 21, 2022 · 1 min · jiezi

关于https:burpsuit谷歌浏览器代理证书及HSTS处理

1、解决hsts拜访不了页面的问题,则间接关上chrome://net-internals/#hsts 对要拜访的域名在delete模块下输出后点击删除即可拜访该域名: 2、谷歌浏览器用burp抓包,发现http能够失常拜访,但接口无数据,则排查进去是https并不能拜访导致,所以此处须要导入burp的证书: 找个中央导出即可 3、在谷歌浏览器进行证书的导入:在谷歌浏览器隐衷与平安外面找到证书治理 找到之前导出的文件,抉择文件类型为所有文件,导入即可应用。

January 27, 2022 · 1 min · jiezi

关于https:接口正常但使用Https请求返回406处理

在写Python的时候Https申请返回406解决,此处是对服务端返回的数据无奈解析导致: 须要在申请头中减少 'Accept':'application/json' 问题失去解决在应用jmeter时一样解决,postman在申请接口时会本人加上,所以不必应用。

January 27, 2022 · 1 min · jiezi

关于https:什么是https网站启动https的好处有哪些

随着互联网的倒退,https的应用也越来越常见,直至2020年来,当初大多数网站都开启了https,那么咱们先来看看什么是https,以及https的优缺点,咱们尽量不必专业术语,让大家都能懂。 百度百科给的解释:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以平安为指标的HTTP通道,简略讲是HTTP的平安版。即HTTP下退出SSL层,HTTPS的平安根底是SSL,因而加密的具体内容就须要SSL。 它是一个URI scheme(形象标识符体系),句法类同http:体系。用于平安的HTTP数据传输。https:URL表明它应用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个零碎的最后研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通信办法。当初它被宽泛用于万维网上平安敏感的通信,例如交易领取方面。HTTPS的长处1.利于SEO,包含百度谷歌的大的搜索引擎都已公开阐明,启用https的网站会优先收录2.更加平安,以前很多网站没有装置ssl证书,导致域名被服务商劫持的多不胜数,而开启https后,就不再有这种状况。3.更加好看,没有开启HTTPS浏览器地址栏会呈现“不平安”或其余不平安提醒,导致用户散失。4.更多益处,能够自行百度,我只讲讲几个重要的。HTTPS的毛病 1.要说毛病,恐怕就是兼容问题了吧,很多站点启用后,如果调用了HTTP的资源会被浏览器拦挡,体验感不是很好,然而只有不调用http资源,那相对是必须要启用的。2.虚拟主机个别不能装置SSL证书,举荐云服务器吧,想怎么玩怎么玩。好买网 GoodMai IT技术交易平台

October 25, 2021 · 1 min · jiezi

关于https:HTTPS-通信过程

HTTPS 通信过程与 SSL 组合应用的 HTTP 被称为 HTTPS 或 HTTP over SSL。HTTPS 用来解决 HTTP 不平安传输的问题,HTTP 之所以不平安,是因为: 1. 传输的内容都是明文,可能会被窃听;2. 不会验证通信单方的身份;3. 传输内容可能被篡改。SSL 提供了加密、认证以及摘要的性能,应用 HTTPS 能够无效避免以上问题: 1. HTTPS 会对传输的内容进行加密,加密采纳的是对称加密的形式,但对称加密的密钥应用了服务器证书进行了非对称加密;2. HTTPS 能够在通信前查明对方的证书,从而确认对方的身份;3. HTTPS 提供了证书验证性能,确保证书来自于指标服务器且未被篡改。HTTPS 握手 握手过程如下: 客户端与服务器协商 SSL 的版本和加密组件(加密算法、密钥长度); 客户端发送 Client Hello 报文,报文中蕴含客户端反对的 SSL 版本及加密组件;服务端返回 Server Hello 报文,报文中蕴含服务器反对的 SSL 版本及加密组件;Client Hello 和 Server Hello 报文中还别离蕴含客户端 random 和服务器 random(通信单方各自生成的随机数)。服务端发送 Certificate 报文,报文中蕴含服务器证书,证书中又蕴含了服务器公钥; 客户端进行证书验证,验证通过后生成一个随机数 pre-master secret,并应用客户端 random、服务器 random 以及 pre-master secret 生成 master secret,master secret 为会话密钥,之后的数据传输应用会话密钥进行加密/解密。服务端发送 Server Hello Done 报文,告诉客户端最后阶段的 SSL 握手协商局部完结;客户端发送 Client Key Exchange 报文进行回应,报文中蕴含应用了服务器公钥进行加密的 pre-master secret; ...

October 6, 2021 · 1 min · jiezi

关于https:HTTPS-如何实现安全通信

HTTPS 如何实现平安通信什么样的通信过程能称得上平安?如果通信具备以下特色,那么就能称得上平安。 机密性,信息只能让可信的人看懂,对其他人是机密。完整性,信息在传输的过程中没有被截取和篡改。身份认证,可能确认通信方的身份。不可否认,不可能否定曾经产生过的行为。如何实现平安通信机密性为了让通信单方的信息不被其他人看到,就需当时磋商好要应用的密钥。这看上去可能实现机密性,然而通信的单方如何传递这个密钥呢。替换密钥的过程是可见的,一旦密钥被获取,通信内容就能够被破解。 为了解决密钥替换的问题,非对称加密便产生了。非对称加密应用两个密钥:公钥和私钥,公钥能够任意散发而私钥窃密。首先某服务器产生公钥 a 和私钥 a’,浏览器领有公钥 b 和 b’。浏览器把公钥 b 传输给服务器,服务器把公钥 a 传输给浏览器。之后浏览器向服务器传输的内容都用公钥 a 加密,服务器收到后用私钥 a’解密。同理服务器向浏览器传输的内容都用公钥加密,浏览器收到后用私钥 b’解密。非对称加密也有毛病,那就是运算速度很慢。 为了获取两种加密的劣势,混合加密便产生了。首先某服务器产生公钥 a 和私钥 a’’。浏览器向服务器申请,服务器把公钥 a 给浏览器。浏览器随机生成一个用于对称加密的密钥 x, 用公钥 a 加密传给服务器,服务器拿到后用私钥 a’解密失去密钥 x,这样单方就都领有密钥 x,其他人都无奈晓得,之后的数据都通过 x 加解密。 完整性只实现机密性,也不够平安。尽管他人看不了交互的信息,然而不可能免于被串改(间接批改加密后的信息,截取,颠倒程序)。为了平安,咱们还要验证信息的完整性,个别应用摘要算法来实现。摘要算法近似地了解成一种非凡的压缩算法,它可能把任意长度的数据“压缩”成固定长度、而且举世无双的“摘要”字符串,能够看成文件的指纹。摘要算法对输出具备“单向性”和“雪崩效应”,输出的渺小不同会导致输入的激烈变动,这样就能够很容易看出信息是否被批改。这个摘要会放在原信息的前面。摘要的算法也是由通信的单方在首次通信时就要确定好。 不可否认 + 一部分身份认证尽管有了摘要,然而还是不平安,因为它容易伪造。为了确保消息来源牢靠, 咱们还要退出数字签名的技术。即信息发送方把音讯做摘要后,用本人的私钥把摘要的信息做一次加密。音讯的接受方收到音讯后,依据摘要算法,对音讯提取一次摘要,接着用对方的公钥把音讯尾部做了加密的摘要解密,而后把两份摘要做比照,如果统一则承受。 身份认证其实到上一步,咱们曾经实现了平安的四大特色了。然而这里还有一个“公钥的信赖”问题。因为任何一方还是可能被假冒,你没有方法晓得对方的实在身份。这时就须要引入一个值得信赖的两头机构 CA,由它来发证书证实身份。这里拿网站和浏览器来举例,网站想要一个证书,它找 CA 机构申请,CA 把申请者的信息和申请者的公钥绑定在一起,并用本人的私钥给该证书签名(证实申请人身份可信,证书是本人签发的),最初证书交给网站。浏览器向网站发动申请后,网站把该证书的证书链发给浏览器,而后浏览器就能够应用信赖的根证书(根公钥)解析证书链的根证书失去一级证书的公钥+摘要验签,而后拿一级证书的公钥解密一级证书拿到二级证书的公钥和摘要验签,再而后拿二级证书的公钥解密二级证书失去服务器的公钥和摘要验签,确保证书中网站身份和公钥的可信。 证书体系也是有弱点的。如果 CA 失误或者被坑骗,签发了谬误的证书,尽管证书是真的,可它代表的网站却是假的。还有一种更危险的状况,CA 被黑客攻陷,或者 CA 有歹意,因为它(即根证书)是信赖的源头,整个信赖链里的所有证书也就都不可信了。 证书的申请流程如下: 参考资料铜墙铁壁的基本(上):对称加密与非对称加密铜墙铁壁的基本(下):数字签名与证书数字证书、签名到底是什么?这篇文章讲得太好了

September 25, 2021 · 1 min · jiezi

关于https:直播预告如何通过智能边缘安全提升企业免疫力

数字时代,互联网为用户带来了舒服和便捷。在享受福利背地,不少提供服务的企业平台却面临头疼问题:随着企业价值、知名度的进步,成为被攻打指标,让业务增长承压,经营稳定加大。 内容减速是晋升用户体验的要害,但传统产品难以兼顾平安与减速。如何依据业务场景须要做好抉择,满足站点HTTPS降级、证书、平安进攻、资源减速多种需要,实现老本、性能、平安兼得? 本期直播咱们邀请到京东云产品专家、技术架构师及合作伙伴云业务专家,分享在平安减速网络方面的实际与心得。 欢送大家扫码入群,9月8日15:00,咱们云端见!

September 6, 2021 · 1 min · jiezi

关于https:为多个域名添加HTTPS泛域名多域名证书

之前为本人的网站增加了SSL证书,目前曾经稳固运行了2年左右。这里为大家介绍一下怎么应用acme.sh给本人的多个网站(主域和多个子域。比方:*.baidu.com)申请收费的SSL证书。acme.sh能够通过acme协定生成Let's Encrypt颁发的SSL证书。Let's Encrypt 提供了单域名证书,泛域名证书和多域名证书0.GitHub地址:https://github.com/acmesh-off...1.在线装置curl https://get.acme.sh | shOR wget -O -  https://get.acme.sh | sh创立acme.sh别名 alias acme.sh=~/.acme.sh/acme.sh装置过程中会增加cronjob,每天自动检测所有证书是否须要更新。查看定时工作(证书有效期个别为90天,acme.sh会在证书生效之前进行自动更新): crontab -e2.设置acme.sh主动降级acme.sh --upgrade --auto-upgrade3.应用DNS API(泛域名证书只能通过DNS API申请)必要条件:域名曾经增加了解析(绑定了服务器IP)acme.sh提供了两种形式进行验证域名所有权,一种是通过HTTP API,另一种是通过DNS API。HTTP API通过批改Apache和NGINX配置,在根目录增加文件, 通过域名能够拜访到该文件,验证胜利。DNS API 通过云服务商提供的API(须要云服务商反对),在DNS增加一条TXT解析记录,增加胜利则验证通过。国内的云服务比方jdcloud,Aliyun,DNSPod都能够应用这种形式。如果云服务商不在反对的列表里,能够应用腾讯云的DNSPod作为域名解析。dnsapi 用法说明:https://github.com/acmesh-off... 4.主动公布证书a.登录控制台(dnsapi 用法说明中有对应服务商地址)获取api key id 和 api key secretb.导出到零碎变量export JD_ACCESS_KEY_ID="sdfsdfsdfljlbjkljlkjsdfoiwje"export JD_ACCESS_KEY_SECRET="xxxxxxx"``````#查看增加的零碎变量echo $JD_ACCESS_KEY_IDc.通过DNS API验证所有权,并生成证书(证书默认被保留在~/.acme.sh/目录中)acme.sh --issue --dns dns_jd  -d example.com -d '*.example.com'id和key会被保留到~/.acme.sh/account.conf文件中,如果id或key产生变更,可能须要进行批改d.copy/装置 证书(如果不应用install-cert命令进行装置,证书更新之后还是被保留在默认目录,会导致已有证书过期之后无奈被自动更新)acme.sh --install-cert -d myflag.xyz \--key-file       /etc/nginx/ssl/key.pem  \--fullchain-file /etc/nginx/ssl/cert.pem \--reloadcmd     "service nginx force-reload"只用输出域名即可,不须要增加其余前缀指定的所有参数都会被自动记录下来, 并在未来证书自动更新当前, 被再次主动调用

August 19, 2021 · 1 min · jiezi

关于https:不支持ISRG在Windows-10817中更新根证书列表

如想获得最佳浏览体验,请拜访:https://blog.projectoms.com/p... 本认为像Windows 10这样比拟新的零碎会反对ISRG根证书,没想到... 我的零碎版本 joking???查看了几个古代CA,都不反对。。。 关上证书管理器发现,才43个根证书???开玩笑吗.....这是多久没更新啊。 问他人得悉失常是有自动更新的,然而可能天朝网比拟好,所以更新失败了。 那么难道就没有解决方案了吗?(我看太长的证书链心里好受) 答案是有的! 你能够关上Power Shell(管理员),输出 certutil.exe -generateSSTFromWU roots.sst 便失去了蕴含最新各种CA的一个文件,有434个之多。 接下来,运行 $sstStore = ( Get-ChildItem -Path C:\[到你上一步生成的文件的门路]\roots.sst )$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root PS会列出装置的根证书的CA信息,我的看起来是这样的 到这里,失常状况下个别就装置胜利了。如图,又是让人青睐的三级链 另外两个有缓存就没截图了...文章到这里就完结啦!如果本文帮忙到了你,记得点赞哦!啾咪~

August 13, 2021 · 1 min · jiezi

关于https:阿里云https免费证书申请

在阿里云控制台进入SSL证书(利用平安)界面点击创立证书后,会生成一条待申请的证书点击该条记录的证书申请填写申请个信息点击下一步进行信息验证,如果域名也是在阿里云申请的,操作就比较简单,会主动一键生成DNS解析记录,点击DNS信息验证,通过后就阐明没问题,点击提交审核按钮审核通过后,证书状态会变为已签发状态,点击下载按钮下载服务器类型为Nginx的证书(其余服务器类型自行下载对应的)将压缩包中的证书文件放到服务器的指定地位,这个地位要与nginx里配置的地址保持一致nginx配置:该目录下的证书文件:

August 5, 2021 · 1 min · jiezi

关于https:建立HTTPS连接

HTTPS建设过程服务器和客户端的验证过程其实就是应用Hash算法计算握手信息,并应用对称密钥解密对方发过来的信息,对两者进行比拟,如果统一则阐明己方的对称密钥跟对方是统一的,即正确的。(这里的握手信息指的是单方的通信信息/参数,是单方都存有的数据。) SSL(安全套接字)能够了解成相似的货色,能够将SSL了解成负责对HTTP的数据进行加密的加密套件S.pub:公钥S.pri:私钥HTTPS和HTTP的区别HTTPS和HTTP的区别次要如下: 1、https协定须要到ca申请证书,个别收费证书较少,因此须要肯定费用。2、http是超文本传输协定,信息是明文传输,https则是具备安全性的ssl加密传输协定。3、http和https应用的是齐全不同的连贯形式,用的端口也不一样,前者是80,后者是443。4、http的连贯很简略,是无状态的;HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,比http协定平安。

June 30, 2021 · 1 min · jiezi

关于https:COMP9900-Information-Technology

COMP9900 Information Technology Project2021 T2Project ProposalProject name: Scent SearcherCOMP9900 Project Proposal Group PikachuTable of ContentsBackground 4Objectives 5Scent Searcher 5Site Maintainer 5User Stories and Sprints 6Sprints 6User Story Analysis 6User Stories 8Epic1: Create an account 8Epic2: Log in and log out 8Epic3: View perfume 8Epic4: Search for perfume 8Epic5: Review perfume 9Epic6: Bookmark perfume 9Epic7: Get recommended perfume 9Epic8: Publish new perfume 10Epic9: Notification 10Epic10: Link account with Google 10Jira Backlog 11System Architecture 13Software Architecture 13Application Architecture 13Related Technology 15Group Management 17Interface and Flow Diagram 18Flow Diagram 19Reference 202COMP9900 Project Proposal Group PikachuBackgroundThe consumer market for perfume is growing in recent years as people's quality of lifeimproves. The consumer base for perfume is also younger and is not limited to women alone.The demand for fragrances is becoming more personalised and more and more niche brands arebeing sought after by young people.Many people want a platform where they can accurately search for fragrances with thescent they want and get a basic idea of the fragrances they haven't come across based on otherpeople's reviews and ratings. Merchants also need a platform to publish their latest perfumescents.We visited some of the websites and forums on the market that attempt to implementthese features and found them to be inefficient, with some sites being too picky andone-dimensional in their search for perfumes and scents, with users only being able to find theperfume they want by searching for the name of the perfume, with no way to find a specificperfume by scent, and no way to search for the perfume they want at multiple levels of specificcriteria. There is no way to find a specific perfume by fragrance, let alone search for theperfume you want at multiple levels of specificity. The site is also slow to update with newperfume releases and niche brands. Some forums are full of users sharing their experienceswith perfumes without a systematic rating function and are full of advertisements frommerchants. The lack of tags also makes it inefficient for users to find their favourite posts orfragrances.So we wanted to create a site that would serve both businesses and perfume lovers andconsumers. Users could search for their most desired scents in a more efficient andpersonalised way. At the same time, a well-developed review and rating system would ensureuser activity and satisfy the needs of more merchants, so there would be a virtuous circle.3COMP9900 Project Proposal Group PikachuObjectivesOn the scent searcher website, there are two identity roles available when registering:scent searcher and site maintainer.Scent Searcher:As a scent searcher, they will first be able to create their own personal page, where theywill fill in their name, contact details and favourite scent notes, and when the scent searcher hasfinished adding scent notes, the page will be updated with the recommended fragrances basedon the scent notes they have added. This allows them to find the perfume they are looking formore quickly. The site also gives automatic alerts (in the form of notifications or emails) whena new fragrance matches their scent notes.Secondly, the site offers the following search modes: scent searcher can search forperfumes matching a given set of notes and specify how many notes can be missing from theresults, and the results should be sorted in descending order of match; scent searcher can searchfor the desired perfume by name (including fuzzy searches)Thirdly, scent searchers can bookmark the fragrances they find and createcorresponding favourites, and comment on the fragrances they find (where each comment mustinclude some text and a rating out of 5), and the commenter's profile can be clicked on.Last but not least, the full details of each perfume are clickable, including the name of theperfume, brand, description, full set of notes, related images, related reviews, average reviewratings, and the number of likes for the perfume.Site Maintainer:As a site maintainer, they have the right to negotiate with merchants to promote newfragrances and keep them up to date with all their details, including the name of the fragrance,the brand, the description, and the full set of notes.4COMP9900 Project Proposal Group PikachuUser Stories and SprintsSprints[S1] Sprint 1: Week 4 - Week5 (before lab) Date: 21 June - 30 June[S2] Sprint 2: Week 5 - Week6 Date: 1 July - 11 July[S3] Sprint 3: Week 7 - Week8 (before lab) Date: 12 July - 21 July[S4] Sprint 4: Week 8 - Week9 Date: 22 July - 1 AugUser Story AnalysisAll user stories of the Scent Searcher platform are given below. The stories are designedbased on the project objectives and analysis of existing systems. Each story has a uniquenumber, which is referenced from the User Stories part below. For the following paragraphs,we will show our analysis about user stories based on the project objective. ...

June 26, 2021 · 15 min · jiezi

关于https:PKI体系及密码算法

HTTPS 的诞生可先参考网络协议、HTTPS协定等文章明文传输 对称加密 “加密”和“解密”应用【雷同的】密钥,如果密钥能够平安的传输,那么音讯也应该能够平安的传输。非对称加密 上述非对称加密与对称加密成果根本一样,如果公钥能够平安的传输,那么音讯也应该能够平安的传输,接下来看看被劫持的状况。 窃听者能够伪造服务器的公钥与客户端通信,客户端认为是跟服务器通信,其实是与窃听者在通信。 无论是对称加密还是非对称加密,都遗留了一个问题没有解决,那就是如何证实咱们拜访的网站就是咱们要拜访的网站,而不是别人伪造的,即中间人攻打和信息抵赖的问题,这里就用到了CA证书。 CA 认证CA认证,即电子认证服务 ,是指为电子签名相干各方提供真实性、可靠性验证的流动。 证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构,是负责发放和治理数字证书的权威机构,并作为电子商务交易中受信赖的第三方,承当公钥体系中公钥的合法性测验的责任。 CA核心为每个应用公开密钥的用户发放一个数字证书,数字证书的作用是证实证书中列出的用户非法领有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。 CA是证书的签发机构,是PKI的外围。CA是负责签发证书、认证证书、治理已颁发证书的机关。它要制订政策和具体步骤来验证、辨认用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。 CA机构也领有一个证书(内含公钥)和私钥,比方RSA密钥对(与服务器的RSA密钥对没有任何关系),它用私钥对服务器申请的证书进行数字签名,将签名的证书发送给服务器。浏览器再连贯服务器,服务器发送证书给浏览器,浏览器领有CA机构的证书(内嵌在浏览器中,内含公钥),而后校验证书的签名,一旦校验胜利,就代表这个证书是可信的CA机构签发的。胜利验证签名只能示意该证书是CA机构签发的,并不代表确认了身份,浏览器会持续校验,比方用户拜访的网址是https://www.example.com,浏览...浏览器为了校验签名,须要CA机构的公钥,这个公钥如何获取?会不会遇到中间人攻打,其实浏览器集成了CA机构的根证书,根证书蕴含了验证签名的公钥,如果CA机构的根证书没有集成在浏览器中,那么浏览器就不会信赖该证书,无奈进行签名验证,这就是信赖根底,浏览器会信赖CA机构(确切地说是信赖CA机构的公钥)。浏览器并不需要预置所有的CA证书,而只须要预置最顶层CA的证书(通常称作根证书)即可,而寰球顶层CA核心数量无限,大略十来个,所以不会存在存储上的问题。当然,如果咱们去查看零碎预置的根证书,发现数量如同远远不止,那是因为为了程序处理的不便,咱们也可能预置一些二级CA证书。比方中国的CA核心在寰球可能只是二级CA核心,而咱们常常会验证中国CA核心颁发的证书,这个时候预置这些二级CA证书,能够防止证书验证时验证链过长,提高效率。 获取证书的过程很谨严,CA机构务必严格校验服务器实体的身份。如果攻击者伪造了服务器实体(比方www.myssl.com)的身份,以www.myssl.com的名义向CA机构申请证书,一旦CA机构没有充沛校验申请者的实在身份,给攻击者签发了www.myssl.com主机的证书,带来的危害是极大的,受害者不仅仅是服务器,也包含CA机构自身,CA机构的品牌就是浏览器对它的信赖,一旦失去信赖根底,这个CA机构也就失去了生存根底,浏览器就会勾销该CA机构的根证书。申请并配置域名SSL证书流程用户打算在服务器实体上公布一个HTTPS网站(https://www.myssl.com)依据RSA算法生成公钥私钥对。私钥即须要秘密保存的以.key为后缀名的文件,公钥则在.csr文件中,csr文件中还包含生成CSR过程中输出的组织名、域名、联系人邮箱等信息。能够应用OpenSSL生成,胜利后为.csr公钥文件与.key私钥文件openssl req -new -SHA256 -newkey rsa:2048 -nodes -keyout myssl.com.key -out myssl.com.csr -subj "/C=CN/ST=henan/L=zhengzhou/O=/OU=/CN=myssl.com"查看csr详细信息openssl req -in myssl.com.csr -noout -textCertificate Request: Data: Version: 1 (0x0) Subject: C = CN, ST = henan, L = zhengzhou, CN = myssl.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:bd:95:a6:dc:77:2f:4b:28:89:bc:47:cc:a4:40: 5e:a9:05:12:18:7b:a7:e5:10:07:9e:55:53:43:05: 96:bb:a5:f7:0a:9a:a5:64:c8:38:66:7d:0f:f1:67: cc:2e:c1:01:20:92:c9:8c:6c:29:3f:50:bf:03:95: ee:49:fa:ae:89:ac:74:eb:fd:f7:b3:6b:9a:f4:ae: c3:75:ff:02:6d:15:39:5c:6e:1c:3c:ea:96:0c:5d: e9:02:88:3e:5a:eb:37:94:40:e6:a1:ea:65:ce:b8: 2a:89:33:f7:b0:2f:5b:24:2d:7f:a5:d5:fb:c7:c6: ae:5e:55:70:84:df:85:8d:a5:ad:f1:c6:3b:44:8d: 49:80:81:9d:23:e7:5a:b4:4c:88:71:3c:3a:59:c9: c1:ad:46:2c:59:fa:c6:60:b0:d9:bd:d3:76:b3:95: 6c:36:ac:02:d8:bd:ef:8f:db:12:e3:f7:ef:d1:d4: b4:61:75:9c:f6:75:20:f7:a4:a6:b5:64:2f:a0:b0: bb:31:af:2e:2b:0c:0d:4a:e4:57:65:95:6c:06:7c: cd:b2:0a:04:fc:7d:26:f7:3e:9e:dc:53:09:77:5e: b3:29:f2:df:0b:3e:79:10:70:7f:66:c9:bf:76:4c: 85:14:7d:a1:28:ae:6b:8a:2b:7d:04:55:55:ae:b7: 87:87 Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha256WithRSAEncryption 69:e1:ce:73:a1:c9:44:7a:bd:8d:d7:a1:8c:a7:50:88:1f:94: be:67:8f:02:4d:4f:01:09:19:73:33:c0:1d:a6:95:db:ed:41: 07:9c:a4:6f:1d:00:f3:b5:4a:68:75:59:77:c8:90:49:6e:e2: 84:d3:7e:89:b1:53:aa:4d:8d:39:88:ab:bc:21:cb:66:9a:5c: b7:c6:23:7c:c6:83:94:2f:f7:3d:c8:93:a8:5d:d8:bc:64:90: df:e7:ab:00:03:30:26:22:4f:d0:1f:dd:d6:b0:10:50:c3:d9: 88:61:9d:66:87:fc:fd:62:59:f6:31:af:bd:be:6d:49:bc:a5: e9:9e:f0:77:78:da:e3:bd:d1:b9:43:71:c7:a3:ef:93:90:dd: 0b:51:f2:c9:45:fc:66:2d:a6:c2:db:92:7b:5b:36:5f:d4:bc: a6:d3:56:00:af:54:44:ba:6e:9a:0d:5d:ec:cd:36:21:7a:08: 77:5f:c5:65:fc:1b:fc:d4:e5:68:0f:5a:4e:64:1a:3e:dc:47: e4:9f:a7:fe:a5:b8:4d:6a:19:91:bd:04:cf:54:cf:cb:31:df: 29:d1:4f:e7:b0:87:04:7c:84:8b:56:ee:d8:28:8f:27:ce:7e: 3b:38:13:9b:98:25:9e:5b:34:ed:4f:f4:5d:d6:6b:f4:6d:86: 4f:01:8e:f7校验csrreq -in myssl.com.csr -noout -verify -key myssl.com.keyverify OK也能够应用KeyTool生成,依据提醒输出明码,,胜利后为.csr公钥文件与.jks私钥文件keytool -genkey -alias myssl.com -sigalg SHA256withRSA -keyalg RSA -keysize 2048 -keystore myssl.com.jks -dname "C=CN,ST=henan,L=zhengzhou,O=,OU=,CN=myssl.com" && keytool -certreq -alias myssl.com -file myssl.com.csr -keystore myssl.com.jks && echo Your certificate signing request file is myssl.com.csr. Your keystore file is myssl.com.jks也能够通过在线网站生成,如下https://myssl.com/csr_create.... ...

June 3, 2021 · 1 min · jiezi

关于https:HTTP和HTTPS

网络根底之HTTP和HTTPS前言最近学习了一下HTTP和HTTPS相干的常识,因为内容比拟多,这里总结了一下本人常常错的中央 一、HTTP1.1 定义在MDN这样解释 超文本传输协定(HTTP) 是一个用于传输超媒体文档(例如 HTML)的应用层协定。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也能够用于其余目标。HTTP 遵循经典的客户端-服务端模型,客户端关上一个连贯以发出请求,而后期待直到收到服务器端响应。HTTP 无状态协定,这意味着服务器不会在两个申请之间保留任何数据(状态) 1.2 特点全称超文本传输协定基于TCP/IP通信协议的应用层协定HTTP默认端口号为80属于无状态协定 留神:无状态的意思就是对事务处理没有记忆能力,比方增删改查等操作,每次浏览器发动申请,都返回同一个响应内容,每一个响应内容都是独立的,前一次申请获取不到上一次申请的内容信息,这个在数据交互场景中是不容许的。 举个栗子: 网站的登录状态、增加商品到购物车、批改用户信息等事务场景,这些都须要在一次操作后把状态记录下来,能力保障浏览器刷新或者点击其余页面时,后面的申请状态都会被记录下来,保障两个页面的关联交互。 1.3 申请形式形式形容GET申请指定的页面信息,并返回实体主体。POST向指定资源提交数据进行解决申请(例如提交表单或者上传文件)。数据被蕴含在申请体中。POST 申请可能会导致新的资源的建设或已有资源的批改。区别: 缓存 ---- GET 申请可被缓存,而POST不会被缓存可见性 ---- GET的申请数据在 URL 中对所有人都是可见的,而POST申请数据不会显示在 URL 中。历史 ---- GET 申请保留在浏览器历史记录中,而POST不会被保留到浏览器记录中浏览器书签 ---- GET 申请可被珍藏为书签,而POST不能被珍藏为书签数据长度 ---- GET 申请有长度限度,而POST申请对数据长度没有限度安全性 ---- GET 相比POST不平安1.4 HTTP1.0、HTTP1.1的区别HTTP1.1相比HTTP1.0节约带宽缓存解决的不同在HTTP1.0中次要应用header里的If-Modified-Since,Expires来做为缓存判断的规范.在HTTP1.1中则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来管制缓存策略。连贯形式的不同以及申请的流水线解决HTTP1.0反对短暂连贯,每次浏览器发送申请须要建设TCP连贯,等到服务器实现申请后再断开连接,而且服务器不跟踪和记录过来的申请。HTTP1.1反对长连贯,须要减少新的申请头来帮忙实现,而且在同一个TCP的连贯中能够传送多个HTTP申请和响应。Host头解决不同在HTTP1.0中认为每台服务器都绑定一个惟一的IP地址,因而,申请音讯中的URL并没有传递主机名hostname。在HTTP1.1的申请音讯和响应音讯都反对Host头域,且申请音讯中如果没有Host头域会报告一个谬误:400 Bad Request。新增谬误告诉的治理 在HTTP1.1中新增了24个谬误状态响应码。 1.5 HTTP1.1、HTTP2.0的区别HTTP1.1的解析是基于文本协定的各式解析,而HTTP2.0的协定解析是二进制格局,更加的弱小。HTTP2.0反对多路复用: 一个连贯能够并发解决多个申请。 一个连贯上能够有多个request,且能够随机的混在一起,每个不同的request都有对应的id,服务端能够通过request_id来分别,大大放慢了传输速率。 HTTP2.0反对头部数据压缩: HTTP2.0对header的数据进行了压缩,放慢了网络传输。 HTTP1.1中的header须要携带大量信息,而且每次都要反复发送。http2.0应用encode来缩小传输的header大小。而且客户端和服务端能够各自缓存一份header filed表,防止了header的反复传输,还能够缩小传输的大小。 HTTP2.0反对服务端推送: 通过解析html中的资源时,在解析到引入文件时,返回所需的文件(css或者js等),而不必再发动一次申请。二、HTTPS2.1 定义HTTPS(平安的HTTP) 是 HTTP 协定的加密版本。它通常应用 SSL (en-US) 或者 TLS来加密客户端和服务器之间所有的通信 。这平安的链接容许客户端与服务器平安地替换敏感的数据,例如网上银行或者在线商城等波及金钱的操作。 2.2 特点内容加密:采纳混合加密技术,两头者无奈间接查看明文内容验证身份:通过证书认证客户端拜访的是本人的服务器爱护数据完整性:避免传输的内容被中间人假冒或者篡改三、HTTP和HTTPS的区别HTTP 的URL以http://结尾, 而HTTPS的URL以https:// 结尾HTTP 是不平安的,而HTTPS 是平安的HTTP 规范端口是80 ,而 HTTPS 的规范端口是443在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的平安传输机制工作在传输层HTTP 无奈加密,而HTTPS 对传输的数据进行加密HTTP无需证书,而HTTPS 须要CA机构wosign的颁发的SSL证书四、状态码分类分类形容1**信息,服务器收到申请,须要请求者继续执行操作2**胜利,操作被胜利接管并解决3**重定向,须要进一步的操作以实现申请4**客户端谬误,申请蕴含语法错误或无奈实现申请5**服务器谬误,服务器在解决申请的过程中产生了谬误1**:信息状态码状态码名称形容100持续初始的申请曾经承受,请客户端持续发送残余局部101切换协定申请这要求服务器切换协定,服务器已确定切换2**:胜利状态码状态码名称形容200胜利服务器已胜利解决了申请201已创立申请胜利并且服务器创立了新的资源202已承受服务器已承受申请,但尚未解决203非受权信息服务器已胜利解决申请,但返回的信息可能来自另一个起源204无内容服务器胜利解决了申请,但没有返回任何内容205重置内容服务器解决胜利,用户终端应重置文档视图206局部内容服务器胜利解决了局部GET申请3**:重定向状态码状态码名称形容300多种抉择针对申请,服务器可执行多种操作301永恒挪动申请的页面已永恒跳转到新的url302长期挪动服务器目前从不同地位的网页响应申请,但申请仍持续应用原有地位来进行当前的申请303查看其余地位请求者该当对不同的地位应用独自的GET申请来检索响应时,服务器返回此代码304未修改自从上次申请后,申请的网页未修改过305应用代理请求者只能应用代理拜访申请的网页307长期重定向服务器目前从不同地位的网页响应申请,但请求者应持续应用原有地位来进行当前的申请4**:客户端谬误状态码状态码名称形容400谬误申请服务器不了解申请的语法401未受权申请要求用户的身份演验证403禁止服务器拒绝请求404未找到服务器找不到申请的页面405办法禁用禁用申请中指定的办法406不承受无奈应用申请的内容个性响应申请的页面407须要代理受权申请须要代理的身份认证408申请超时服务器等待申请时产生超时409抵触服务器在实现申请时发生冲突410已删除客户端申请的资源曾经不存在411须要无效长度服务器不承受不含无效长度表头字段的申请412未满足前提条件服务器未满足请求者在申请中设置的其中一个前提条件413申请实体过大因为申请实体过大,服务器无奈解决,因而拒绝请求414申请url过长申请的url过长,服务器无奈解决415不反对格局服务器无奈解决申请中附带媒体格式416范畴有效客户端申请的范畴有效417未满足冀望服务器无奈满足申请表头字段要求5**:服务端谬误状态码状态码名称形容500服务器谬误服务器外部谬误,无奈实现申请501尚未施行服务器不具备实现申请的性能502谬误网关服务器作为网关或代理呈现谬误503服务不可用服务器目前无奈应用504网关超时网关或代理服务器,未及时获取申请505不反对版本服务器不反对申请中应用的HTTP协定版本

May 30, 2021 · 1 min · jiezi

关于https:HTTPS握手过程

May 22, 2021 · 0 min · jiezi

关于k8s-operator:k8soperator-系列-自动生成-webhook-证书并在过期时自动刷新

k8s webhook 要求必须应用 HTTPS,Operator webhook 的证书配置是个麻烦事。 家喻户晓 cert-manager 能够帮咱们生成证书,但证书生成后还须要批改 ValidatingWebhook 和 MutingWebhook。 上面要介绍的是另一种形式:github.com/open-policy-agent/cert-controller,最后是在 open-policy-agent/gatekeeper 中看到这种用法,感觉十分 Geek。 Operator 内置: 证书主动生成过期刷新webhook 配置中的 caBundle 主动注入不依赖内部组件,真正做到一键部署 Operator,十分不便散发 Operator。 应用先启动 rotator: setupFinished := make(chan struct{})if !disableCertRotation { setupLog.Info("setting up cert rotation") err := rotator.AddRotator(mgr, &rotator.CertRotator{ SecretKey: types.NamespacedName{ Namespace: k8s.GetOperatorNamespace(), Name: secretName, }, CertDir: certDir, CAName: caName, CAOrganization: caOrganization, DNSName: dnsName, IsReady: setupFinished, Webhooks: webhooks, }) if err != nil { setupLog.Error(err, "unable to set up cert rotation") os.Exit(1) }} else { close(setupFinished)}if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { setupLog.Error(err, "problem running manager") os.Exit(1)}setupFinished 之后再启动 Reconciler 和 Webhook server: ...

April 20, 2021 · 3 min · jiezi

关于springboot:Springboot配置https使用腾讯云免费证书

1. 申请腾讯云收费ssl证书1.1 登陆腾讯云在我的证书列表页面点击申请收费证书 2.2 提交材料,必填证书绑定域名以及申请邮箱,绑定域名填写springboot我的项目部署的服务器域名 2.3 抉择验证形式,默认即可 2.4 验证域名,个别2、3分钟就验证结束了 2.5 验证结束后在证书列表页面下载证书文件,抉择tomcat目录下的jks文件即可 证书列表证书压缩包文件 2. springboot配置ssl证书1.1 将jks文件导入springboot我的项目resoures目录下 2.2 在application.yml文件中配置如下代码 server: port: 443 ssl: # ssl相干配置 enabled: true key-store: classpath:mall.wayn.ltd.jks key-store-password: idFXdK.Rnm3CgZp key-store-type: JKShttp-port: 8080 # http重定向https配置2.3 增加HttpsConfiguration文件,将 HTTP 申请重定向到HTTPS import org.apache.catalina.Context;import org.apache.catalina.connector.Connector;import org.apache.tomcat.util.descriptor.web.SecurityCollection;import org.apache.tomcat.util.descriptor.web.SecurityConstraint;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.springframework.boot.web.servlet.server.ServletWebServerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class HttpsConfiguration { @Value("${http-port}") private int port; @Value("${server.port}") private int sslPort; @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; tomcat.addAdditionalTomcatConnectors(redirectConnector()); return tomcat; } private Connector redirectConnector() { Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL); connector.setScheme("http"); connector.setPort(port); connector.setSecure(false); connector.setRedirectPort(sslPort); return connector; }}拜访浏览器http://localhost8080,会主动重定向到https://localhost

April 19, 2021 · 1 min · jiezi

关于环境搭建:openssl生免费证书亲自实践有效

openssl生收费证书1.创立文件夹并且创立证书私钥makdir -p /data/certcd /data/certopenssl genrsa -des3 -out server.key 2048成果如下,会让你输出明码并确认明码记住后边有用。 Generating RSA private key, 2048 bit long modulus......................................................................................................................+++..........+++e is 65537 (0x10001)Enter pass phrase for server.key:Verifying - Enter pass phrase for server.key:2.依据证书私钥进行生成证书openssl req -new -key server.key -out server.csr成果如下,填写上边的明码,而后填写个人信息,能够轻易天写 [root@zjdk cert]# openssl req -new -key server.key -out server.csrEnter pass phrase for server.key:You are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----# 国家CNCountry Name (2 letter code) [XX]:CN # 省 State or Province Name (full name) []:beijing # 城市Locality Name (eg, city) [Default City]:beijing# 组织名称Organization Name (eg, company) [Default Company Ltd]:xxxx# 单位名称Organizational Unit Name (eg, section) []:xxxx# 域名Common Name (eg, your name or your server's hostname) []:crazyk.com.cn# 邮箱Email Address []:code_dking@163.comPlease enter the following 'extra' attributesto be sent with your certificate request# 不须要,剩下的两个间接回车就能够A challenge password []:An optional company name []:3.备份私钥cp server.key server.key.org4.转换证书#转换为证书openssl rsa -in server.key.org -out server.key成果如下,这个还是须要输出最开始填写的明码 ...

April 13, 2021 · 2 min · jiezi

关于https:网络关说说你理解的-HTTPS

老题目党了,行将发车,请坐稳了波及问题说说你对 HTTPS 的了解为什么比 HTTP 更平安为什么不间接应用非对称加密或对称加密证书是怎么工作的为什么要握手,TLS 的握手过程能讲讲吗呈现起因及特点HTTPS 相比 HTTP 次要解决原先存在的平安问题,如应用纯文本的模式传输 header,没有完整性校验无奈验证是否篡改,没有无效伎俩确认通信单方的身份等。 除此之外,它和 HTTP 体现统一,如传输内容不限于文本,分为申请方和应答方,有连贯无状态等。 如何保障平安安全性次要由 SSL / TLS 来保障。HTTPS 由原来的间接和 TCP 通信,变为先和 SSL / TLS 通信。 SSL,指安全套接层。TLS,指传输层平安。两者其实含意相近,TLS1.0 是 SSL3.1的正式标准化版本。 应用 TLS 建设连贯时,会选用一组加密算法,它也称为明码套件。命名格局比拟固定,通常由密钥替换算法,签名算法,对称加密算法,摘要算法组成,来保障平安。 如,ECDHE-RSA-AES256-GCM-SHA384 平安与解决方案的对应平安能够从四个方面来了解: 机密性,即只有可信的人才能拜访,对应上述的密钥替换算法(非对称加密算法,常为 ECDHE)和对称加密算法。 HTTPS 采纳混合加密的模式,应用非对称加密算法传输用于对称加密的密钥。非对称加密,分为公钥和私钥,通常基于简单的数学问题,计算量大;对称加密,加密解密应用同一密钥,计算快,但替换密钥时存在平安问题。混合加密将两者联合,效益最大。完整性,即数据在传输过程中没有产生篡改,对应上述的摘要算法。 申请方会生成摘要附在原文后,应答方收到数据后,再做一次计算进行比对来验证是否产生篡改。 完整性须要以机密性为前提,否则能够同时篡改摘要和内容,便失去了意义。 身份认证,即能够验证对方身份的真实性。不可否认性,即不能抵赖曾经做过的事。 身份和不可否认性,对应上述的签名算法(非对称加密算法,常为 RSA)。 应用私钥加密,公钥解密的形式,私钥加密原文摘要,即数字签名,公钥解密后与摘要进行比对,来达到验证身份的成果。 数字证书是为了验证公钥的起源,即确认是你的公钥。借助 CA 证书认证机构,来为各个公钥签名(像事实中的大佬背书)。 证书证书能够分为 DV, OV, EV,可信度递增。 收费证书通常为 DV,只验证域名,并不知道持有者身份。OV 会验证持有者的身份信息,EV 则更严格,波及领取等对安全性要求高的站点会应用。 证书中蕴含各项信息,如颁发者,使用者,有效期等,其中最重要的为证书签发机构的公钥,及由证书签发机构的私钥对摘要加密后生成的签名。 由此咱们能够晓得,信赖链的认证过程,形如: 收到服务端发来的 A 证书,可能还携带其余两头证书(进步安全性,避免一窝端)A 的证书中蕴含 B 的公钥及 B 的签名,由 B 的公钥对签名解密失去摘要,和间接对 A 进行摘要算法的后果比对是否统一,统一则示意的确由 B 签发;B 可能还有下级签发机构,那么会依据 B 证书携带的信息,持续向下级验证直到验证到可信的根证书,根证书通常间接存在浏览器或操作系统中,随零碎更新而更新其中须要留神的是,根证书的签名是由本人签发的,对此,只能抉择信赖。 ...

April 9, 2021 · 1 min · jiezi

关于https:配置证书使得ngnix能够发布https的可信网站

首先,下载证书,我的是在腾讯云申请的收费证书。点前面的下载,会下载一个压缩包,外面有apache、nginx等的文件夹,咱们应用的是nginx的证书,包含两个文件(证书文件和Key文件) 把这两个文件搁置到服务器的某个文件夹下,我是放在的nginx/ssl/下了。 而后配置nginx.conf文件1、查看你的nginx是否反对ssl在命令行下输出 nginx -V,显示的一堆字母里如果蕴含 --with-http_ssl_module阐明是反对ssl的,我下载的是nginx windows安装版,是反对的 2、批改nginx.conf文件首先,减少一个https server server { listen 443 ssl; server_name XX.XX.XX.XX; ssl_certificate c:/nginx/ssl/1_www.fenxiangyuntu.com_bundle.crt; ssl_certificate_key c:/nginx/ssl/2_www.fenxiangyuntu.com.key; ssl_session_timeout 5m; location / { root html; index index.html index.htm; } }ssl_certificate 和 ssl_certificate_key别离指向证书文件和key文件,留神这里应用的是绝对路径。 而后把http server指向https server: server { listen 80; server_name fenxiangyuntu.com; rewrite ^/(.*) https://fenxiangyuntu.com/$1 permanent; }留神:这里本来80下的location要删除掉,因为曾经转向443了。 批改实现后,运行配置查看命令: nginx -t // 查看nginx配置文件如果胜利,会提醒....sucessful 配置https要确保443端口是关上的,我应用的是腾讯云服务器,默认是关上的。 配置实现后,在浏览器输出的http地址会主动跳转至https页面,咱们的网站变平安啦!

February 22, 2021 · 1 min · jiezi

关于https:HTTPS请求流程分析

TCP+TLS 的WireShark过程介绍 1.TLS介绍 [TLS1.2为模板] tls的各个版本的区别,本文不过多的探讨。 只是为了让大家理解tls的整个加密流程。 ietf的论文 如下图:TLS的交互流程比较简单,只须要进行交互的生存 进行两次独自的握手操作即可。 自己依照 tls的抓包流程进行具体介绍对于每一步进行介绍.再上一个流程图,而后依照这个每一步进行解说。本流程图 依照wireshark抓包为准 1.1 Client Hello 第一次建设链接,客户端发送首先发送信息到服务端。因为客源码交易户端对加密算法的反对不一样,须要发送反对的加密套件[Cipher Suites]信息,同时生成一个随机数[Random]。 1.2 Server Hello 在服务端接管到Client Hello 信息当前,从加密套件外面抉择一个加密算法。如果服务器没有找到一个反对的算法,返回报错信息.返回一个随机数[Random] 1.2.1 Certifate , Server Key Exchange , Server Hello Done Certifate: 向客户端动员 CA认证的数字证书,甄别服务端身份 Server Hello Done: 服务端宣告和客户端第一阶段握手协定完结 Server Key Exhchange[可选]: 如果CA的认证的数字证书提供的信息不够,服务端发送补充信息 1.3 Client Key Exchange,Change Cipher Spec ,Encrypted Handshake Message Client Key Exhchange : 客户端收到CA数字证书并通过认证,而后通过CA公钥解密获取到服务端公钥。Client Key Exchange 报文蕴含一个随机数,这个随机数成为pre-master key /secret.示意随后的信息应用单方协定好的加密办法密钥发送的告诉。 还有一个协商好的hash算法对后面的所有内容信息的hash计算值。用来提供服务端校验。这些信息通过服务端公钥加密 传送给服务端。 Change Cipher Spec: 该报文告诉服务端,尔后的通信将通过协商好的加密算法计算对称密钥,进行加密通信。【应用两个随机数以及第三个 pre-master key/secret 随机数 计算出一个对称密钥 session key / secret 】后续会发送 密钥信息。 ...

January 31, 2021 · 1 min · jiezi

关于https:博客主机自动申请续期免费证书

原创:博客主机_主动申请续期收费证书 一不留神,之前的域名证书过期了。因为是Let’s Encrypt收费证书,须要3个月手工续期一次,一年就得4次,还是有点麻烦,搞成自动化多好。 以下操作均在服务器上执行(ubuntu16,腾讯云) 下载脚本certbot-autocd opt/wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto执行certbot-auto可能报错: An unexpected error occurred: UnicodeEncodeError: 'ascii' codec can't encode阐明脚本尝试批改nginx配置文件,后果文件中蕴含中文字符。这个自己更偏向于自主管制,不依赖脚本,脚本复仅仅负责生成证书或renew证书即可,证书的复制和配置还是人工脚本实现更佳。一方面可控性更强,另一方面遇到谬误也晓得怎么回事! 生成秘钥命令 ./certbot-auto certonly -d *.example.cn --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory certonly 装置模式-d 申请证书的域名,如果是通配符域名输出 *.example.cn--manual 手动装置插件--preferred-challenges dns 应用 DNS 形式校验域名所有权--server,Let's Encrypt ACME v2 版本应用的服务器不同于 v1 版本,须要显示指定响应 Requesting to rerun ./certbot-auto with root privileges..../certbot-auto has insecure permissions!To learn how to fix them, visit https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979/Saving debug log to /var/log/letsencrypt/letsencrypt.logPlugins selected: Authenticator manual, Installer NoneObtaining a new certificatePerforming the following challenges:dns-01 challenge for example.cn- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -NOTE: The IP of this machine will be publicly logged as having requested thiscertificate. If you're running certbot in manual mode on a machine that is notyour server, please ensure you're okay with that.Are you OK with your IP being logged?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o: y- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Please deploy a DNS TXT record under the name_acme-challenge.example.cn with the following value:v8somjB6jyjkZ9-fi_5l705CA_ERu0hRJcGFbLpHNaQ#配置dns的txt解析Before continuing, verify the record is deployed.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Press Enter to ContinueWaiting for verification...Cleaning up challengesSubscribe to the EFF mailing list (email: xxxxx(your email)@163.com).IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.cn/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.cn/privkey.pem Your cert will expire on 2021-02-20. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le以上命令须要留神2点 1,最好在部署服务的机器上执行 2,第二步须要批改dns记录,然而批改后未必实时失效,须要等到失效后再按“回车”,否则可能会生成失败 ...

January 29, 2021 · 3 min · jiezi

关于https:博客主机通配符证书提示不安全

原创:博客主机_通配符证书提醒不平安 问题:应用了Let's Encrypt 的收费的通配符证书,且在有效期内,但浏览器仍然提醒不平安 更多信息去这里点击进入sslshopper,查看下 后果如下: 可见证书自身是无效的,然而因为某些非凡起因,浏览器无奈辨认,所以标记为不平安 解决其实是证书链问题,配置nginx时本人参考的教程 配置的是 ssl_certificate /etc/letsencrypt/live/your_domain/cert.pem;理论应该配置为 ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;批改后重启nginx,再次浏览器拜访,ok了 再点击锁头标记,开展证书。 差异在于之前图中画框的之前是无奈开展的,只有独自的一项,当初是可开展的了。 参考Nginx 学习笔记(九)申请Let's Encrypt通配符HTTPS证书:https://www.cnblogs.com/tinyw... 部署https穿插证书,反对挪动浏览器拜访:https://blog.csdn.net/kyfxbl/... GODADDY SSL 证书装置过程中的问题:https://blog.51cto.com/xiaoyo...

January 29, 2021 · 1 min · jiezi

关于https:没那么浅地谈谈HTTP与HTTPS一

面对愚昧,神们本人也缄口不言 。——《基地》 2019年8月11日,IETF 终于公布了 RFC 8446,标记着 TLS 1.3 协定功败垂成 。这是该协定的第一次重大改革,带来了重大的安全性和性能改良。 原本想写一篇简短介绍...后果越写越长,罗唆拆离开缓缓写,缓缓发。 一、基本概念httpHTTP 是一个网络协议,是专门用来帮你传输 Web 内容的。 比方浏览器地址栏关上任意网址http://http://ulyc.github.io/ 加了粗体的局部就是指 HTTP 协定。大部分网站都是通过 HTTP 协定来传输 Web 页面、以及 Web 页面上蕴含的各种货色(图片、CSS 款式、JS 脚本)。 如果你有一些网络基础知识,就晓得http协定存在于四层网络结构中的应用层。 HHTP协定为明文传输,所有信息均为可见的,很不平安,信息极易被篡改和劫持,也因而衍生出了绝对更为平安的HTTPS。 SSL/TLSSSL(Secure Sockets Layer),即安全套接层,是一种平安协定,目标是为互联网通信提供平安及数据完整性保障。 网景公司(Netscape)在1994年推出HTTPS协定,以SSL进行加密,这是SSL的起源。 到了1999年,SSL 因为利用宽泛,曾经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(是“Transport Layer Security”的缩写),中文叫做“传输层平安协定”。 很多相干的文章都把这两者并列称说(SSL/TLS),因为这两者能够视作同一个货色的不同阶段。 SSL又分为两层: SSL记录协定(SSL Record Protocol):它建设在牢靠的传输协定(如TCP)之上,为高层协定提供数据封装、压缩、加密等基本功能的反对。SSL握手协定(SSL Handshake Protocol):它建设在SSL记录协定之上,用于在理论的数据传输开始前,通信单方进行身份认证、协商加密算法、替换加密密钥等。 包含SSL握手协定,SSL扭转明码协定,SSL正告协定 。 httpsHTTPS(Hyper Text Transfer Protocol Secure),即超文本传输平安协定,也称为http over tls等,是一种网络安全传输协定。 相当于工作在应用层(osi七层模型)的http,只不过是在会话层和表示层利用ssl/tls来加密了数据包,说白了就是“HTTP 协定”和“SSL/TLS 协定”的组合,你能够把 HTTPS 大抵了解为——“HTTP over SSL”或“HTTP over TLS” 。 有位大神做过一个很形象的比喻: 如果原来的 HTTP 是塑料水管,容易被戳破;那么现在新设计的 HTTPS 就像是在原有的塑料水管之外,再包一层金属水管。一来,原有的塑料水管照样运行;二来,用金属加固了之后,不容易被戳破。拜访时以https://结尾,默认443端口,同时须要证书。当初大部分网站都曾经反对https协定,如果常常拜访的反对https的网站忽然只能以http拜访,就要小心了。 ...

January 11, 2021 · 1 min · jiezi

关于https:如何将Postman-API测试转换为JMeter以进行扩展

可扩展性http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...http://groups.tianya.cn/post-...Postman测试无奈扩大。如果您的汇合中有很多申请,Postman / Newman将应用1个线程(用户)并按程序执行这些申请,而不是应用多个线程并发执行。  - 性能测试能力因为可扩展性限度,Postman不适宜API性能测试。性能测试要求同时针对多个线程(用户)运行测试,以确保零碎在重负载下不会中断。 何时将Postman测试转换为JMeter测试您可能心愿将现有的Postman测试转换为JMeter以取得以下益处: 多线程执行获取API的性能指标取得高级报告,并将一直减少的负载与响应工夫,谬误数量等相关联。 查找瓶颈和最慢的API端点如何将Postman API测试转换为JMeter测试以下是将现有Postman测试转换为JMeter的步骤:  = 第1步-筹备JMeter进行录制JMeter随附有HTTP(S)测试脚本记录器,该记录器充当浏览器(或应用HTTP协定并反对代理的任何其余应用程序)的代理。因而,您能够应用它来拦挡浏览器生成的申请。在咱们的例子中,您能够应用它来拦挡Postman,并将申请转换为HTTP Request采样器。 JMeter的配置非常简单-尤其是在应用JMeter模板性能时:     1.转到JMeter主菜单,而后抉择“文件”->“模板”->“记录” ,而后单击“创立”。     2.抉择HTTP(S)测试脚本记录器,而后单击“开始”。           3.提供您的API主机,以便JMeter将其置于HTTP Request Defaults下。 第2步-筹备Postman进行记录         1.首先,将JMeter证书导入Postman。启动JMeter的HTTP(S)测试脚本记录器时,JMeter生成一个自签名证书,该证书使JMeter能够解密HTTPS申请。该文件称为ApacheJMeterTemporaryRootCA.crt ,它将在JMeter装置的“ bin”文件夹下开始生成。         2.关上Postman设置,而后转到“证书”选项卡         3.切换在为“CA证书”,并找到ApacheJMeterTemporaryRootCA.crt         就是这样,当初Postman将应用JMeter的证书,并且JMeter将可能解密捕捉的申请         配置Postman以应用JMeter作为代理        当初,您须要“通知”Postman通过JMeter的HTTP(S)测试脚本记录器发送申请。         4.转到Postman的设置,而后关上“代理”选项卡。         5.在用于发送申请的代理配置下,选中“增加自定义代理配置”框。         6.抉择“ HTTP”和“ HTTPS”协定。         7.应用“localhost”作为代理服务器(如果你有不同的主机上运行的JMeter -应用该主机的IP地址或DNS主机名代替)。         8.应用“ 8888”作为代理端口。 步骤3-记录您的测试祝贺你!Postman和JMeter终于建设了分割。当您开始申请或收集时,JMeter将捕捉它并为每个申请生成一个HTTP申请采样器。如果存在任何HTTP标头,JMeter将增加一个HTTP标头管理器以将标头增加到申请中。 这是一个无关其工作原理的小示例:   将Postman转换为JMeter时的提醒,技巧和局限性命令行记录如果要在Windows上记录Newman测试,请遵循Windows操作系统代理设置。因而,在Internet Explorer或Chrome浏览器中执行设置就足够了。这将设置纽曼将应用的零碎级代理。  对于Linux / Unix / MacOS,能够通过HTTP_PROXY环境变量提供代理,例如: HTTP_PROXY = http:// localhost:8888 && newman -c your_collection.json  - BlazeMeter代理记录器代替本地JMeter代理,您能够应用基于云的BlazeMeter代理记录器,该记录器: 简化证书的创立,尤其是在记录挪动应用程序流量方面。具备动静参数主动关联的性能。局限性请记住,这种办法仅实用于仅记录申请。您在“先决条件”下定义的所有脚本。或Postman中的“测试”标签将不被思考。因而,如果您具备测试数据筹备或申明逻辑,则须要应用JSR223测试元素和Groovy语言对其进行复制. 举荐浏览 1024程序员节,无套路发福利!薅当当网的羊毛,冲鸭!应用Redis Dataset JMeter插件即时管制您的测试数据10月书讯 | 双节同庆,读书正过后测试金字塔的神秘和数学应用Pytest创立一个Python测试自动化我的项目

January 11, 2021 · 1 min · jiezi

关于https:用牛郎织女来解释Https

前言本文尝试应用牛郎织女来解释Https。 信息替换传递从古至今都有,只是传递导体和替换形式一直在发生变化。古代信息传递都是通过网络进行。信息传递步骤简化:打包 ---> 传输 ---> 解包,而像Http这类协定就是指定信息传递的规范,而信息传递个别次要思考以下两方面问题。 可靠性(传递到一半失落??)安全性(被人拦挡批改??)本文次要探讨传递的安全性。家喻户晓 Https就是http平安版,咱们先来看一看古时传递信息怎么保障平安。 飞鸽传书在通信不是很发达的年代,飞鸽传书是一种很无效的形式。 牛郎织女属于异地恋,他们日常沟通都是通过信鸽来传递情书。传递过程中,信息安全很重要,如果不慎被王母晓得就麻烦了。于是牛郎开始钻研一套平安协定。他想了以下几种形式: 明文传递间接将写有“<u>我在牛家村门口</u>”情书发送给织女。这种形式安全性很低,一旦被王母拦挡了鸽子拿到情书所有事件就败漏了。 密钥加密将情书内容加密后再进行传递: 制作密钥“<u>7354126</u>”并发送给织女;制作密文“<u>口牛村家我在门</u>”发送给织女;织女收到密文后通过密钥解密失去“<u>我在牛家村门口</u>”。这种形式的毛病是,流传密钥时,被王母拦挡拿到了密钥,信息一样会被泄露。 注:牛郎的这种加密形式在计算机中叫对称加密(AES) 包装加锁针对密钥加密改良,新的通信形式: 牛郎先给织女发送一个空音讯,让她晓得本人想发消息;而后织女会给牛郎发送一个带锁的盒子,钥匙本人保留;牛郎收到盒子后,将写好的情书放到盒子里并锁上发给织女;织女收到盒子后用钥匙关上失去情书。这种形式有个毛病,王母在第二步拦挡了织女发给牛郎的空盒子,而后在外面做一些手脚,牛郎收到后就很危险。 注:下面这种加密形式在计算机中叫做非对称加密(RSA),盒子好比为公钥用来加密,钥匙为私钥用于解密。 盒子封条为了避免王母拦挡盒子做手脚,织女决定发送盒子前把盒子打上封条。这样牛郎收到盒子时先查看盒子有没有被动过,确认平安之后再将情书放到盒子锁定发送。 这样做完之后仿佛很平安,然而封条也很可能被伪造。牛郎如何能力确定是织女打的封条?于是他们找到了月老,让月老代替织女帮她打封条。他们都信赖月老为人,因为他只会在确定织女身份后才帮她封条。这样牛郎收到盒子一看是月老打的封条值得信赖就没问题。 注:下面提到的月老其实就是网站证书颁发机构简称CA。 就这样过了一段时间,鸽子开始罢工,因为每天带着盒子飞来飞去很累。于是牛郎订正了通信协定,失去了最终版本。 当牛郎想和织女沟通时: 牛郎发送一个空音讯给织女;织女收到音讯,筹备盒子并且是通过月老封条;牛郎收到盒子,生成密钥放到盒子外面锁定发送给织女;织女收到盒子用钥匙关上取出密钥保留;当初牛郎就能够应用密钥加密情书,而后发送给织女,不再应用盒子锁定。小结要齐全了解Https 协定自身是比较复杂,外面波及了很多通信的专业知识和密码学常识。本文旨在简化解释它通信模型。 欢送大家留言交换!

December 13, 2020 · 1 min · jiezi

关于https:https的认证加密过程

HTTPS 协定是由 HTTP 加上 TLS/SSL 协定构建的可进行加密传输、身份认证的网络协议。TLS 的前身是 SSL,TLS1.0 就是 SSL3.1,TLS1.1 是 SSL3.2,TLS1.2 则是 SSL3.3。HTTPS 规范端口是 443。TLS/SSL 中应用了非对称加密,对称加密以及 Hash 算法。 证书产生过程向 CA 机构提交申请,提交信息包含: 公司信息域名加密算法(例如:RSA)Hash 签名算法(例如:sha256)加密位数CA 机构收到证书申请,发送证书和私钥给申请者,证书蕴含这些信息: 证书内容(域名、公钥、有效期等等)证书签名(Hash 签名算法对内容摘要,CA 机构再用本人的私钥对摘要进行加密,失去证书签名)签名就是在信息的前面再加上一段内容CA 机构发送给申请者的私钥和证书中公钥是一对。这里的公钥用于加密,私钥用于解密。https 连贯过程客户端发送 Client Hello 给服务端,蕴含以下信息: 反对的 TLS 版本反对的加密形式随机数 random_C域名服务端收到申请后,发送 server Hello,蕴含以下信息: 确定 TLS 版本随机数 random_S确定加密形式证书 内容(域名、公钥、有效期等等)签名客户端收到申请后,将会做一下事件: 验证证书 操作系统和浏览器中存有 CA 机构的公钥。 客户端应用 CA 机构的公钥对签名进行解密,解密胜利阐明证书由 CA 机构颁发。签名胜利解密后失去证书摘要。客户端应用 Hash 签名算法对证书内容进行摘要,而后和签名解密后的摘要比拟,相等阐明证书没有被批改过。证书内容(公钥、域名、有效期)可信。客户端验证证书内容的域名是否和以后网址是统一的,证书是否过期。生成随机数 验证通过后,客户端生成随机数 Pre-master,而后用证书中的公钥进行加密,发送给服务端服务端 服务端应用 CA 机构给的密钥对加密的随机数进行解密,获取随机数 Pre-master客户端/服务端 服务端和客户端别离用依据 random_C,random_S 和 Pre-master 生成密钥,用于加密传输数据。第一步要确认服务端的身份是否可信,能力进行上面的数据传输。证书的作用就是确认服务端身份,确认证书来自权威可信机构,且证书内容未作批改,证书内容可信,证书内容无效,从而确认服务端的身份。以上只是单向认证,双向认证时客户端也要发送蕴含公钥的证书给服务端,服务端验证证书胜利后,应用客户端的公钥加密通信计划,再给客户端,而后客户端生成随机数 Pre-master,依据随机数生成的密钥加密传输数据。服务端证书可信后,再应用申请证书时生成的公钥对随机数加密,服务端收到后用申请证书时生成的私钥解密。保障了随机数的安全性,不会被第三方解密获取。传输数据的密钥依据随机数 Pre-master 生成的,所以随机数窃密非常重要。加密算法非对称加密算法:RSA,DSA/DSS对称加密算法:AES,RC4,3DESHash 算法:MD5,SHA1,SHA256

December 7, 2020 · 1 min · jiezi

关于https:https对称加密非对称加密数字证书的理解以及为什么安全

大家都晓得https。是http协定上多加了一层SSL协定进行加密的,只晓得它平安确不理解它为什么平安,那明天就来简略说一下: HTTP:首先http是不平安的,明文传输数据,容易被黑客抓包抓到,那么怎么办呢?须要对数据进行加密,那如何进行加密? 对称加密:在客户端发送数据之前,服务器就生成的密钥传输给客户端,在之后客户端发送数据的时候应用该密钥进行加密。之后客户端与服务端的数据传输就应用该密钥进行加解密。那这样带来的问题就是密钥自身也是明文传输的,那黑客也同样能劫取到密钥,而后应用密钥对用户的数据进行解密,那和明文传输有什么别离?(黑客:哈哈,你这不是逗我呢)接下来引入另一个配角“非对称加密” 非对称加密加密的办法还是须要传输密钥,可问题出在了如何将密钥平安传输到服务器。而后就呈现了公钥和私钥这种货色,我叫他“阴阳钥",并且让客户端和服务器都领有两把钥匙,一把钥匙是公开的(公钥),一把钥匙是私密的(私钥)。两把钥匙,用公钥加密的数据,必须对应的私钥能力解密。相同,用私钥加密的数据,必须是对应的公钥能力解密。在传输数据的时候客户端先发送本人的公钥给服务器,而后服务器应用该公钥对数据进行加密。客户端收到当前再用本人的私钥进行解密。相同客户端向服务器传输也是一样。这下终于能保证数据的平安传输了。可是又呈现了另外一个辣手的问题:加密的速度慢了很多倍。这可怎么办?几个程序员探讨了半天 联合了两种形式:”对称加密+非对称加密“ 对称加密+非对称加密应用非对称加密的形式来加密“密钥”,而后应用对称加密的形式来加密传输的数据。 具体流程:服务器先明文发送本人的公钥给客户端,而后客户端在发送数据前会生成一把密钥并且应用服务端的公钥来加密。如此一来,这把加密后的密钥就只能服务器来解密。相同,客户端也有本人的”阴阳钥“,服务器用客户端的公钥来加密,客户端用本人的私钥来解密。这就达到了平安传输数据的目标。以上说得可能有点绕,要弄懂公钥、私钥、密钥之间的关系。可这真的平安吗?(黑客:有两下子,然而我用本人做的公钥假冒服务器的公钥发给你进行坑骗,那我就失去你的密钥,仍然在我掌控之中哈哈) 几个程序员有点懵,然而冷静下来思考发现存在的问题就是 无奈保障公钥的起源是否真是服务器。通过几天的探讨,推出了一种新的形式:数字证书。 数字证书首先成立了一个有公信力的认证核心(CA)值得信赖的第三者:服务器在一开始就须要向CA申请证书(下载一个证书到服务器上)。当然客户端收到服务端的证书会存储在本地(有个容器专门存储证书)。 当在服务器给客户端传输公钥的过程中,会把公钥和服务器的个人信息通过本人的hash算法生成信息摘要。为了避免被人调换,服务器会用CA的私钥对摘要进行加密造成”数字签名“,最初把没进行hash算法生成的公钥及个人信息与这个加密后的数字签名合并在一起,就造成了所谓的数字证书。在客户端收到数字证书后,就会用去本地证书列表里找适合的公钥来对证书外面的数字签名进行解密以及hash算法失去信息摘要,而后把数字证书外面的摘要和里面的摘要进行比照,如果一样,就证实这个起源肯定是服务器。这样就能安心的应用服务器的公钥进行加密了,保障了公钥的安全性。(黑客:蹩脚,解不开数字签名,假冒不了,可恶的第三者) 对于服务端搭建https及主动跳转https的内容能够关注我的其余文章。

December 6, 2020 · 1 min · jiezi

关于https:http重定向到https

能够批改配置文件。办法一: server { server_name 5137bj.com; if ($host != 'www.5137bj.com' ) { rewrite ^/(.*)$ $1 permanent; } ...}办法二:server {if ($host = '5137bj.com'){ rewrite ^/(.*)$ $1 permanent; }}这两种办法中, permanent是要害,具体阐明见nginx重定向规定阐明。redirect – 返回长期重定向的HTTP状态302permanent – 返回永恒重定向的HTTP状态301不过,我应用的是上面的办法,用判断来重定向;if ($scheme = http ) {return 301 https://$host$request_uri;}或者:if ($server_port = 80 ) {return 301 https://$host$request_uri;}PS:(pos机)代码是要加在站点的nginx配置文件中,在面板里能够找到,找不到,登陆服务器吧。加的地位server里的:server {server_name 5137bj.com if ($server_port = 80 ) {return 301 https://$host$request_uri;}}

December 4, 2020 · 1 min · jiezi

关于https:牛逼竟然用一个脚本就把系统升级到-https了还永久免费

注释当初很多站长都会思考将本人的站点从http降级到https,不仅是基于平安的思考,有的也是因为第三方平台的限度,如谷歌浏览器会将http站点标记为不平安的站点,微信平台要求接入的微信小程序必须应用https等。 那如何将一个http站点降级为https站点呢? http与https的区别为了数据传输的平安,https在http的根底上退出了ssl协定,ssl协定依附证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。要想将http降级为https,只须要给http站点减少一个CA证书即可。 目前获取CA证书有两种路径: 购买免费的CA证书获取收费的证书 免费的CA证书各大服务提供商都有卖,如阿里云、腾讯云等。免费的证书不便宜,从阿里云官方网站看,它的价格能够从几千元到上万元不等。这对于小公司平台,甚至是集体站点来说,是一个不小的开销。 Letsencrypt是一个收费、自动化和凋谢的证书颁发机构,其颁发的证书一次有效期为三个月,然而只有能继续更新,根本能够永恒应用。 明天举荐的这个脚本acme.sh,实现了 acme 协定, 能够帮你继续主动从Letsencrypt更新CA证书。下载地址如下: https://github.com/Neilpang/acme.sh装置 acme.sh装置acme.sh很简略,一个命令即可: curl get.acme.sh | sh普通用户和 root 用户都能够装置应用。装置过程进行了以下几步: 1、把acme.sh装置到你的home目录下: ~/.acme.sh/并创立 一个 bash 的 alias,不便你应用:alias acme.sh=~/.acme.sh/acme.sh 2、主动为你创立 cronjob,每天 0:00 点自动检测所有的证书。如果快过期了,须要更新,则会自动更新证书,装置过程不会净化已有的零碎任何性能和文件,所有的批改都限度在装置目录中: ~/.acme.sh/生成证书 acme.sh 实现了 acme 协定反对的所有验证协定, 个别有两种形式验证:http 和 dns 验证。 1、http 形式,须要在你的网站根目录下搁置一个文件, 来验证你的域名所有权,实现验证,而后就能够生成证书了。 acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/acme.sh 会全自动的生成验证文件, 并放到网站的根目录,而后主动实现验证。最初会聪慧的删除验证文件,整个过程没有任何副作用。 如果你用的是apache服务器,acme.sh 还能够智能的从 apache的配置中主动实现验证,你不须要指定网站根目录: acme.sh --issue -d mydomain.com --apache如果你用的是nginx服务器,或者反代,acme.sh还能够智能的从 nginx的配置中主动实现验证,你不须要指定网站根目录: acme.sh --issue -d mydomain.com --nginx留神:无论是 apache 还是 nginx 模式,acme.sh在实现验证之后,会复原到之前的状态,都不会擅自更改你自身的配置。益处是你不必放心配置被搞坏,但也有一个毛病,你须要本人配置 ssl 的配置,否则,只能胜利生成证书,你的网站还是无法访问https。然而为了平安,你还是本人手动改配置吧。 如果你还没有运行任何 web 服务,80 端口是闲暇的, 那么 acme.sh 还能伪装本人是一个webserver, 长期听在80 端口,实现验证: acme.sh --issue -d mydomain.com --standalone2、dns形式,在域名上增加一条 txt 解析记录,验证域名所有权。 ...

December 3, 2020 · 1 min · jiezi

关于https:网站如何使用HTTPS如何防止网站被劫持

HTTPS相比HTTP,在申请开始之前减少了握手的环节,在进行SSL握手时,客户端浏览器会对服务器的身份进行验证,这是通过SSL证书来实现的,SSL证书是由第三方权威机构CA颁发,艰深一点来说就是网站的“身份证”,浏览器须要对“身份证”进行验证来确认服务器的身份,确认证书是否属于指标网站、确认证书是否有受信赖机构所颁发等。在握手环节的最初,客户端和服务器还会协商出一个用于加密和解密的通信密钥。 如何解决网站http被劫持的问题 获取HTTPS证书:①、搜寻“蜗牛证书”,或者间接关上链接:https://www.woniussl.com/ ②、填入咱们的域名,接着点击左边“立刻申请”按钮!(如图所示) ③、抉择适宜本人的网站类型的https域名证书! 部署HTTPS证书:④:开始部署证书,搜寻“金柚工具箱”或者间接关上:https://www.jinyoutool.com/ ⑤:在网站首页输入框,输出“证书装置”。点击“搜寻”。网站会安顿业余的技术人员帮助您实现https证书的部署装置! ⑥:装置完结结束后,咱们就能够应用平安的https协定关上咱们的网站了! 写在结尾: 综上所述,在部署了SSL证书之后,因为会对服务器的实在身份进行验证,所以在产生DNS劫持导致连贯到其它非指标服务器的状况时,该次访问将会被浏览器发现并阻止,让不法分子的DNS劫持无奈顺利施行。此外应用SSL协定还能对数据进行加密和效验完整性,这就防止了传输的数据信息被窃取或篡改的状况产生。

November 23, 2020 · 1 min · jiezi

关于https:你一定要知道关于https的五大误区

现在,https协定正在被宽泛器重和应用。随着往年2月初,谷歌旗下Chrome浏览器发表将所有http标示为不平安网站,许多网站都争相从http降级到了https。当你关上很多网站时,会发现浏览器左上角有一把绿色的平安锁,这把锁就证实该网站曾经应用了https加密爱护。 之所以会实现https加密爱护,次要是因为该网站应用了SSL证书。当初很多网站都会应用SSL证书对网站数据进行传输加密,尤其是银行、金融、电商类的网站。但很多人对于https的了解都存在不少误区,比方https会让网站访问速度变慢、耗费服务器资源、减少网站老本等等。为了能让大家对https有更为清晰的意识,明天咱们就来谈谈网站降级到https协定后的认知误区。 误区1:https会拖慢网站的访问速度 随着互联网用户的减少,用户可能担心https会升高网站的访问速度。侥幸的是,网站应用https协定尽管比http协定多出了SSL证书的握手验证环节,但这个SSL证书握手环节个别不会超过100毫秒,也就是说不到0.1秒。在大多数状况下,https实际上是指http/2,它是规范http协定的订正版本,旨在通过压缩数据和缩小波及的流程,将页面加载工夫缩短50%,如果做好https性能优化,https并不会拖慢网站的访问速度。 有时,https反倒比http更快一点,这个别是大公司的外部局域网。通常状况下,公司的网关会截取并剖析所有的网络通信,但当它遇到https连贯时就只能间接放行,因为https通过加密无奈被解读。因为少了这个解读过程,所以https会更快。 误区2:https会大幅减少硬件配置老本 为了实现https,降级CPU、购买更多服务器的办法曾经成为历史。可能会有一些集体或者中小网站应用的是虚拟主机,在这样的共享服务器空间下面,如果要想装置SSL证书就须要服务器提供反对。就目前而言,大部分虚拟主机都曾经反对配置SSL,随着硬件性能的突飞猛进,https施加在硬件之上的运算压力曾经越来越小,再加上正当的优化和部署,硬件成本增加简直能够忽略不计。 误区3:只有数据敏感的网站才须要https 人们对银行、电商、金融等网站必须启用https已达成共识,但其余类型的网站是否有这个必要呢?咱们认为很有必要,因为https有助于爱护用户的隐衷和确保内容的真实性,它示意将让网站的全部内容都纳入https的爱护。Chrome、火狐已开始对非https页面进行正告,谷歌、百度均给予https页面更高的搜寻权重。因而不管从平安还是倒退的角度来讲,https对各个类型的网站都十分必要。 误区4:SSL证书能够随便申请 有些人看到网上有收费SSL证书,就会认为申请SSL证书很容易。其实,容易申请的SSL证书都是便宜或收费的,高级的SSL证书并不是掏钱就肯定能申请到。SSL证书依据可信强度,大略能够分为:域名型证书(DV SSL)、企业型证书(OV SSL)、增强型证书(EV SSL)三种。 当初所说的收费SSL证书都是最低级别的DV SSL证书,对于高级的EV SSL证书来说,须要提交实在牢靠的材料(如企业营业执照、组织机构代码证等),并且须要通过CA人工审核通过后才可颁发,很多企业因为提交材料不齐全或不实在而导致申请失败。 误区5:有了https,网站就100%平安了 这能够称为“https万能论”,局部企业也用https宣传本人的网站足够平安。但实际上,https是利用SSL证书满足网络通讯传输加密和服务器身份验证这两个平安需要,即防窃取、防篡改、防钓鱼,别的平安需要就满足不了了。泛滥网站平安问题也不可能仅靠一张SSL证书就全副解决,但传输加密和身份验证是网站平安的根底,根底都打不好,平安就是空谈。因而,对网络安全来说,https不是万能的,但没有https是万万不能的。 在网络安全事件频发的时代,部署https已是不可逆的趋势。随着申请SSL证书的用户越来越多,在SSL证书申请过程中仍然还有很多内容须要留神。咱们不能漠视网络安全的任何一个细节,一张小小的证书诚然只是网络安全个渺小环节,但其重要水平可见一斑,因而用户肯定要抉择像天威诚信这类受信赖的证书颁发CA机构,能力将网络置于平安的保护伞之下,在更可信的环境下享受自在网络生存。 原文:http://www.d1net.com/security...

November 19, 2020 · 1 min · jiezi

关于https:前端面试每日-31-第582天

明天的知识点 (2020.11.18) —— 第582天 (我也要出题)[html] 应用svg画出“前端每日3+1”的几个字[css] css中如何获取dpr值?[js] 请解释下为什么咱们能够在申明函数前应用它?[软技能] 在https站点下如何加载http的资源文件?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

November 18, 2020 · 1 min · jiezi

关于https:图说HTTPS协议

故事还要从月月给她老公亮亮发了一条音讯说起。 早晨亮亮上班回到家,刚一进门"给我跪下","咋了,媳妇儿?",嘴上这样问着,可是亮亮的身材还是很诚恳。"你不是给我发音讯说今晚不回家吗?"说着月月掏出了手机"天地良心我没这么说过,我明天收到了你的音讯还是你骂我呢",亮亮也掏出了本人的手机 "好神奇,咱们收到的音讯和收回去的音讯不一样耶,难道是咱们被黑客截取了信息" 亮亮起身拍了拍膝盖上的灰说到:“必定是呀,不要让我看见他,不然我打得他妈都不意识他" 入夜了,小两口在床上躺着想到明天产生的事儿还是苦笑不得,决定想个办法来解决通信不平安的问题,不然这日子没法过了。 "亮亮,你说咋办呢?你是程序员,你说有什么方法即便是黑客截取到了咱们的信息也没有方法晓得是什么内容,就跟谍战片外面一样" "能够呀,你发送音讯给我的时候用密钥加密,而后我收到音讯用同样的算法,同样的密钥解密就行了,这有个专业术语叫做对称加密" "听下来不错,可是你这个有问题呀,和你一个人通信这样倒是能够,然而和其他人通信怎么办呢?我和他们怎么协商密钥呢?" "没事儿,这难不倒我,咱们还能够应用非对称加密算法,它有两个密钥,一个叫公钥,一个叫私钥,公钥加密的数据只能被私钥解密,同样的,私钥加密的数据只能被公钥解密,私钥只能由你持有,公钥就由我持有(能够网络散发),当前你想和我聊天就把密钥用私钥加密,我这边用公钥解密失去密钥,而后咱们还像之前讲的那样用密钥加密音讯进行通信。他人想和你聊天,你就把公钥给他就行了" “为什么咱们不间接应用非对称加密算法来通信呢?" "非对称加密不仅速度慢而且只反对大量数据的加密,说多了你也不懂" "还存在一个问题耶,这个公钥就这样裸露进来了,黑客就能够将其替换成他的公钥,这样他人给我发送音讯就相当于给这个黑客发送音讯了" "这个能够让第三方进行担保,让它给我保障公钥是正确的。这个第三方构造咱们称它为CA""它如何保障呀?""CA其实也是应用了非对称加密算法,首先应用CA的私钥对咱们的公钥加密,而后它会给你返回一个证书,外面蕴含了加密之后的公钥,而后你本地应用CA公钥解密这个证书就能够获取到咱们的公钥了。你老公我是不是很聪慧呀?" "聪慧?呵呵。我通知你你还是太天真了,CA能够给你颁发证书也能够给黑客证书,你如何保障证书没有被掉包,我收到的证书不是黑客所持有的?"亮亮嘀咕到:"一天想东想西的,黑客哪有那么多工夫,天天守着你""你说什么?""我说,咱们能够在本地通过证书的编号来验证证书是否是实在的呀?咱们让证书依据一系列信息生成一个音讯摘要,而后将这个音讯摘要应用CA的密钥加密造成数字签名放到证书外面,而后咱们本地依据同样的规定来生成音讯摘要,而后将证书中的数字签名解密,它们两个进行两两比照就行呀。" 一系列代指签发者,证书用处,咱们须要传输的公钥,加密算法,HASH算法,到期工夫等,对于网站来说还有域名的信息 "听下来不错,可是这所有的前提是CA的公钥可信呀,万一内置在游览器和操作系统的证书不可信了怎么办呢?""如果这两个都被攻破了,那就万事皆休了,而且世界上哪有相对的平安呀,你要是在意信息泄露,那你就别上网好了""算了,还是别想那么多了,睡觉吧,都2点钟,今天我必定又有黑眼圈了,都怪你。" NetScape相继开发了SSL1.0,SSL2.0,SSL3.0,由ISOC组织接手后,公布了TLS 1.0(和SSL3.0简直没有差别,能够向下降级),TLS1.0也被称为SSL3.1,而后通过TLS1.1,TLS1.2,当初最新的是TLS1.3。大部分游览器根本都反对TLS1.2。咱们拜访网络罕用的协定是HTTP协定,然而它的通信过程并不平安,很容易被拦挡,监听,篡改。而SSL/TLS能够保障信息安全,所以它们合并在一起就组成了咱们明天要说的配角HTTPS(HTTPS=HTTP >+ SSL/TLS)。

November 17, 2020 · 1 min · jiezi

关于https:http请求中get和post方法的区别

一、原理区别个别咱们在浏览器输出一个网址拜访网站都是GET申请;再FORM表单中,能够通过设置Method指定提交形式为GET或者POST提交形式,默认为GET提交形式。 HTTP定义了与服务器交互的不同办法,其中最根本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为平安办法,因为应用GET和HEAD的HTTP申请不会产生什么动作。不会产生动作意味着GET和HEAD的HTTP申请不会在服务器上产生任何后果。然而平安办法并不是什么动作都不产生,这里的平安办法仅仅指不会批改信息。 依据HTTP标准,POST可能会批改服务器上的资源的申请。比方知乎编写文章,用户提交一篇文章或者一个读者提交评论是通过POST申请来实现的,因为再提交文章或者评论提交后资源(即某个页面)不同了,或者说资源被批改了,这些便是“不平安办法”。 二、应用时最直观的区别最直观的区别就是GET把参数蕴含在URL中,POST通过request body传递参数。 get申请: post申请: 三、为什么get比post更快1.post申请蕴含更多的申请头 因为post须要在申请的body局部蕴含数据,所以会多了几个数据形容局部的首部字段(如:content-type),这其实是微不足道的。 2.最重要的一条,post在真正接收数据之前会先将申请头发送给服务器进行确认,而后才真正发送数据 post申请的过程:(1)浏览器申请tcp连贯(第一次握手)(2)服务器许可进行tcp连贯(第二次握手)(3)浏览器确认,并发送post申请头(第三次握手,这个报文比拟小,所以http会在此时进行第一次数据发送)(4)服务器返回100 Continue响应(5)浏览器发送数据(6)服务器返回200 OK响应get申请的过程:(1)浏览器申请tcp连贯(第一次握手)(2)服务器许可进行tcp连贯(第二次握手)(3)浏览器确认,并发送get申请头和数据(第三次握手,这个报文比拟小,所以http会在此时进行第一次数据发送)(4)服务器返回200 OK响应也就是说,目测get的总耗是post的2/3左右,这个口说无凭,网上曾经有网友进行过测试。 3.get会将数据缓存起来,而post不会 能够做个简短的测试,应用ajax采纳get形式申请静态数据(比方html页面,图片)的时候,如果两次传输的数据雷同,第二次当前耗费的工夫将会在10ms以内(chrome测试),而post每次耗费的工夫都差不多。经测试,chrome和firefox下如果检测到get申请的是动态资源,则会缓存,如果是数据,则不会缓存,然而IE什么都会缓存起来,当然,应该没有人用post去获取静态数据吧,反正我是没见过。 四、面试是个别怎么答复get和post的区别(1)post更平安(不会作为url的一部分,不会被缓存、保留在服务器日志、以及浏览器浏览记录中) (2)post发送的数据更大(get有url长度限度) (3)post能发送更多的数据类型(get只能发送ASCII字符) (4)post比get慢 (5)post用于批改和写入数据,get个别用于搜寻排序和筛选之类的操作(淘宝,支付宝的搜寻查问都是get提交),目标是资源的获取,读取数据 五、测试get和post申请的工具get和post申请个别应用的是接口测试工具,接口测试工具我集体个别应用的是:apipost和jmeter。 apipost是一款国产的接口测试工具和接口文档生成工具,可能满足咱们日常工作当中对于接口测试和接口文档生成的工作需要。接口文档还能够反对多种格局的生成,有在线版、markdown、word版等多种格局的接口文档。 jmeter能够进行接口测试和性能测试,然而对于做单纯的接口测试jmeter操作起来没有apipost应用起来不便。jmeter重点在于压力测试,稳定性测试和负载测试。针对于接口和程序的稳定性设计的一块以软件性能为主接口测试为辅的接口测试工具。 工具下载地址:https://www.apipost.cn/

November 6, 2020 · 1 min · jiezi

关于https:基金七七八八

基金怎么选1.基金投资机会的抉择a.市场处于低谷b.市场成交量低迷c.指数处于低位 2.基金配置的品种a.股票类基金(次要配置)成长性较高,实现资产大幅增值 b.债券类基金(防危险)一是因为债基暴涨可能性不大,如果某些债基配置了可转债当前还可能会暴涨 c.商品类基金(做波段)与证券市场相关性不高。是为了防止所选的都掉坑了爬不起来。 3.股票基金品种抉择a.价值类:商品模式成熟,业绩稳固,例如刚需品的各类公司 b.成长型:科技类公司,翻新危险高,老本投入较高,如新基建类 c.防御型:医药和各种社会公用事业:水电煤气等 个别只有持有以上三类基金就够了,也就是总共持有的基金最好不要超过五只,尽管说鸡蛋不能放在一个篮子里,然而多了也没必要 如何买入基金不同意绝大数人宣传的傻瓜式定投,因为定投无思考工夫和本金的老本!整体的收益率不高。比方E大,他的定投就没有肯定法则,是一直寻找机会,在适合机会投入。 适合的机会也不好讲,像往年暑假疫情的时候,很多人聊原油,美股等大跌,要抄底等操作。emmm,其实就抄底而言,就我的一些小教训来看(仅供参考)市场个别包含三个底部,别离是政策底,市场底,经济底政策底个别是最先呈现,起逆周期调节作用,就拿2020年说吧,2月3日能够算是一个政策底,之后始终上涨,而起初3月因为外围市场等因素影响造成上涨也能够算是到了市场底。市场底的话,市场对前期倒退的认识可能对可能错,市场底到了后就须要经济数据验证也就是经济底,如此周而复始。 至于这三个底部怎么判断,首先政策底是最先呈现的,产生作用到市场造成一个底部,这时候造成了一个底部后市场因为各种因素影响,导致它可能上涨或上涨。怎么判断这个市场底,我个别看成交量,市场缩量人就少了,缩到极限就是底部造成的开始。最初经济数据来进行验证,造成一个经济底。这是我集体大抵判断底部的办法,感觉实用的能够康康,反正没股票危险大嘛。 然而我集体认为抄底不易频繁,而且基金短期持有还有手续费。能够等到市场底和经济底造成的时候再去买入,但这三个底又有点难把握,所以我感觉按指数点位抉择适合的基金定投反而更好点。 目前我持有的:华夏科技成长基金,天弘银行指数,广发基建工程指数,博时标普500ETF,恒生ETF。 正在关注:恒生ETF,中概互联网ETF

November 3, 2020 · 1 min · jiezi

关于https:一文彻底搞懂https传输过程

一. http与https区别HTTP:是一个客户端和服务器端申请和应答的规范(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协定,它能够使浏览器更加高效,使网络传输缩小。 HTTPS:是以平安为指标的HTTP通道,简略讲是HTTP的平安版,即HTTP下退出SSL层,HTTPS的平安根底是SSL,因而加密的具体内容就须要SSL。(能够了解为 HTTPS协定由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,要比http协定平安。 HTTPS和HTTP的区别次要如下: HTTP 明文传输,数据未加密,安全性较差。https数据传输过程加密应用 HTTPS 协定须要到 CA 申请证书,个别收费证书较少,因此须要肯定费用。HTTP 页面响应速度比 HTTPS 快,次要是因为 HTTP 应用 TCP 三次握手建设连贯,客户端和服务器须要替换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手须要的 9 个包,所共12 个包。http 和 https 应用齐全不同的连贯形式,http的连贯很简略,是无状态的;HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议。端口也不一样,前者是 80,后者是 443。HTTPS 建构在 SSL/TLS 之上的 HTTP 协定,更消耗服务器资源。二. https传输的具体过程HTTPS协定的次要作用能够分为两种:一种是建设一个信息安全通道,来保障数据传输的平安;另一种是确认网站的真实性。 TLS 的残缺过程须要三个算法(协定),密钥交互算法,对称加密算法,和音讯认证算法 HTTPS 的整体过程分为证书验证和数据传输阶段 证书验证阶段:浏览器发动 HTTPS 申请。( TLS 握手申请)服务端返回 证书(蕴含服务器公钥S_PuKey)、对称加密算法品种及其他相干信息。客户端验证证书是否非法,如果不非法则提醒告警。数据传输阶段:当证书验证非法后,在本地生成随机数。通过公钥加密随机数,并把加密后的随机数传输到服务端。服务端通过私钥对随机数进行解密。服务端通过客户端传入的随机数结构对称加密算法,之后的数据交互通过对称加密算法进行加解密。(对称加密(也叫私钥加密)指加密和解密应用雷同密钥的加密算法)服务器利用本人惟一的私钥对客户端发来的对称秘钥进行解密,在此过程中,中间方无奈对其解密(即便是客户端也无奈解密,因为只有服务器端领有惟一的私钥),保障了对称秘钥在收发过程中的平安,此时,服务器端和客户端领有了一套完全相同的对称秘钥。 最初,总结一下https传输过程:1.客户端发动 HTTPS 申请,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用于结构对称加密算法的随机数。2.通过证书中的公钥对随机数进行加密传输到服务端(随机对称密钥),服务端接管后通过私钥解密失去随机对称密钥,之后的数据交互通过对称加密算法进行加解密。(既有对称加密,也有非对称加密) 常见问题为什么数据传输是用对称加密? 答:HTTP的利用场景中通常端与端之间存在大量的交互,非对称加密的加解密效率非常低。 另外,在 HTTPS的场景中只有服务端保留了私钥,一对公私钥只能实现单向的加解密,所以 HTTPS 中内容传输加密采取的是对称加密 为什么须要证书?答:避免“中间人”攻打,同时能够为网站提供身份证明。 应用 HTTPS 会被抓包吗?答:会被抓包,HTTPS 只避免用户在不知情的状况下通信被监听,如果用户被动授信,是能够构建“中间人”网络,代理软件能够对传输内容进行解密。

November 1, 2020 · 1 min · jiezi

关于https:在本地开发调试环境使用-HTTPS

作者 LeanCloud weakish 原则上,本地开发调试环境和线上生产环境的差别越小越好。因为目前大多数站点(无论是间接供用户拜访的网站还是提供后端 API 的站点)应用的都是 HTTPS,所以在本地开发调试环境也应用 HTTPS 很有必要。 它不仅有助于尽早发现和 HTTPS 相干的一些问题(比方代码中不小心申请了 HTTP 资源,因为本地调试阶段应用 HTTP 协定,所以没有发现,上线后因为混合内容被浏览器阻塞,网站显示异样甚至不能失常工作),也有助于防止一些客户端的限度(比方通过局域网拜访站点,测试站点的 service worker 性能)。 其实在本地配置 HTTPS 十分快捷不便,有现成的成熟工具能够应用。大抵分两步: 生成证书。批改我的项目的启动服务。生成证书咱们将应用 [mkcert] 这个零配置的命令行工具生成证书。 首先装置 mkcert。macOS 下能够应用 Homebrew 装置,其余零碎请参考 mkcert 的文档: brew install mkcertbrew install nss其中,nss 是可选的,如果不应用或者不须要测试 Firefox,那么能够不装置 nss。 接着咱们创立一个目录来寄存证书,比方 ~/.cert: mkdir -p ~/.cert主动生成证书: mkcert -key-file ~/.cert/key.pem -cert-file ~/.cert/cert.pem "localhost"让零碎信赖生成的证书: mkcert -install因为须要在零碎中装置本地 root CA,所以运行上述命令会申请 sudo 权限。只有首次生成证书时须要运行这个命令,后续通过 mkcert -key-file 生成的证书会主动被零碎信赖。 批改我的项目的启动服务许多框架都提供了简直是开箱即用的 HTTPS 反对,比方在启动命令时加上相应的命令行参数或是环境变量,或者在启动服务的代码中进行简略的配置。上面就以前端开发比拟风行的[http-server]、React、[Express] 为例(三者正好对应了前述三种形式),介绍如何在本地开发调试时启动 HTTPS 服务。 ...

October 22, 2020 · 2 min · jiezi

关于https:https和接口签名api接口安全

为什么有了https  还须要做签名验证?签名的作用如果只用签名 不必https密钥泄露怎么办 本文链接: https://blog.kfzsy.com/https-sign.html

October 19, 2020 · 1 min · jiezi

关于https:数据可视化大屏设计标准分享

October 10, 2020 · 0 min · jiezi

关于https:https自签证书-openssl-生成脚本

#!/bin/sh # create self-signed server certificate: read -p "Enter your domain [www.example.com]: " DOMAIN SUBJECTCA="/C=CN/ST=Guangzhong/L=Shenzhen/O=xxx os/OU=xxx/CN=$DOMAIN" SUBJECTSERVER="/C=CN/ST=Guangzhong/L=Shenzhen/O=xxx ltd/OU=xxx/CN=$DOMAIN"echo '------ generate CA key'openssl genrsa -out ca.key 2048 echo '------ generate CSR' openssl req -new -subj $SUBJECTCA -days 36500 -key ca.key -out ca.csr echo '------ generate Self Signed certificate' openssl x509 -req -days 36500 -sha256 -signkey ca.key -in ca.csr -out ca.crt openssl x509 -text -noout -in ca.crt echo '------ generate private server key' openssl genrsa -out server.key 2048 echo '------ generate server csr' openssl req -new -subj $SUBJECTSERVER -days 36500 -key server.key -out server.csr echo '------ generate server certificate' openssl x509 -req -in server.csr -days 36500 -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt openssl x509 -text -noout -in server.crt

September 27, 2020 · 1 min · jiezi

关于https:Https详细分析

目录介绍01.为何会有Https02.解决方案剖析03.SSL是什么04.RSA验证的隐患05.CA证书身份验证06.Https工作原理07.Https代理作用08.Https真平安吗09.Https性能优化01.为何会有HttpsHttp的毛病 通信应用明文; 通信应用明文意味着安全性大大降低,当通信过程被窃听后,无需破费额定的投入就可看到传输的数据。例如应用抓包工具,无需任何配置就可查看任何应用HTTP协定的通信数据;不验证通信方身份 不验证通信方的身份,将导致通信过程被窃听后,可能会遭逢假装,例如应用抓包工具抓取数据后,就可依照数据包的格局结构HTTP申请;任何人都坑你发送申请,不论对方是谁都返回相应。无奈验证报文的完整性 不验证报文的完整性,数据在传输过程中就可能被篡改,原本想看杨充呢,后果数据在传输过程中被换成了逗比。受到篡改,即没有方法确认收回的申请/相应前后一致。Http的毛病解决方案 通信应用明文 既然明文不平安,那能够思考应用密文,即:对通信数据进行加密。即使数据被窃听,对方仍然须要破费肯定的投入来破解,这种昂扬的老本间接进步安全级别。不验证通信方身份 和服务端应用雷同的算法,依据网络申请参数生成一个token,申请/应答时依据token来确定单方的身份。无奈验证报文的完整性 应用MD5/SHA1等算法进行完整性验证,对方接管到数据后,依据同样的算法生成散列值,比对发送方生成的散列值,即可验证数据的完整性。你晓得Http存在哪些危险吗? 窃听危险:Http采纳明文传输数据,第三方能够获知通信内容篡改危险:第三方能够批改通信内容假冒危险:第三方能够假冒别人身份进行通信如何解决这些危险 SSL/TLS协定就是为了解决这些危险而设计,心愿达到:所有信息加密传输,三方窃听通信内容;具备校验机制,内容一旦被篡改,通信双发立即会发现;装备身份证书,避免身份被假冒SSL原理及运行过程 SSL/TLS协定基本思路是采纳公钥加密法(最有名的是RSA加密算法)。大略流程是,客户端向服务器索要公钥,而后用公钥加密信息,服务器收到密文,用本人的私钥解密。为了避免公钥被篡改,把公钥放在数字证书中,证书可信则公钥可信。公钥加密计算量很大,为了提高效率,服务端和客户端都生成对话秘钥,用它加密信息,而对话秘钥是对称加密,速度十分快。而公钥用来秘密对话秘钥。02.解决方案剖析Https加密形式 Https=Http+Ssl Https保障了咱们数据传输的平安,Https=Http+Ssl之所以能保障平安次要的原理就是利用了非对称加密算法,平时用的对称加密算法之所以不平安,是因为单方是用对立的密匙进行加密解密的,只有单方任意一方透露了密匙,那么其他人就能够利用密匙解密数据。非对称加密算法之所以能实现平安传输的外围精髓就是:公钥加密的信息只能用私钥解开,私钥加密的信息只能被公钥解开。非对称加密算法为什么平安 服务端申请CA机构颁发的证书,则获取到了证书的公钥和私钥,私钥只有服务器端本人晓得,而公钥能够告知其他人,如能够把公钥传给客户端,这样客户端通过服务端传来的公钥来加密本人传输的数据,而服务端利用私钥就能够解密这个数据了。因为客户端这个用公钥加密的数据只有私钥能解密,而这个私钥只有服务端有,所以数据传输就平安了。下面只是简略说了一下非对称加密算法是如何保障数据安全的,实际上Https的工作过程远比这要简单。03.SSL是什么什么是SSL证书 Https协定中须要应用到SSL证书。SSL证书是一个二进制文件,外面蕴含通过认证的网站公钥和一些元数据,须要从经销商购买。证书有很多类型,按认证级别分类: 域名认证(DV=Domain Validation):最低级别的认证,能够确认申请人领有这个域名公司认证(OV=Organization Validation):确认域名所有人是哪家公司,证书外面蕴含公司的信息扩大认证(EV=Extended Validation):最高级别认证,浏览器地址栏会显示公司名称。按覆盖范围分类: 单域名证书:只能用于单域名,foo.com证书不能用不www.foo.com通配符证书:可用于某个域名及所有一级子域名,比方*.foo.com的证书可用于foo.com,也可用于www.foo.com多域名证书:可用于多个域名,比方foo.com和bar.comTLS/SSL的原理是什么? SSL(Secure Sokcet Layer,安全套接字层)TLS(Transport Layer Security,传输层平安协定)04.RSA验证的隐患SSL/TLS协定基本思路是采纳公钥加密法(最有名的是RSA加密算法),尽管说是采纳非对称加密,但还是有危险隐患。身份验证和密钥协商是TLS的根底性能,要求的前提是非法的服务器把握着对应的私钥。但RSA算法无奈确保服务器身份的合法性,因为公钥并不蕴含服务器的信息,存在安全隐患: 客户端C和服务器S进行通信,两头节点M截获了二者的通信;节点M本人计算产生一对公钥pub_M和私钥pri_M;C向S申请公钥时,M把本人的公钥pub_M发给了C;C应用公钥 pub_M加密的数据可能被M解密,因为M把握对应的私钥pri_M,而 C无奈依据公钥信息判断服务器的身份,从而 C和 * M之间建设了"可信"加密连贯;两头节点 M和服务器S之间再建设非法的连贯,因而 C和 S之间通信被M齐全把握,M能够进行信息的窃听、篡改等操作。另外,服务器也能够对本人的收回的信息进行否定,不抵赖相干信息是本人收回。因而该计划下至多存在两类问题: 中间人攻打和信息抵赖05.CA证书身份验证CA 的初始是为了解决下面非对称加密被劫持的状况,服务器申请CA证书时将服务器的“公钥”提供给CA,CA应用本人的“私钥”将“服务器的公钥”加密后(即:CA证书)返回给服务器,服务器再将“CA证书”提供给客户端。个别零碎或者浏览器会内置 CA 的根证书(公钥),HTTPS 中 CA 证书的获取流程如下所示: 留神:上图步骤 2 之后,客户端获取到“CA 证书”会进行本地验证,即应用本地零碎或者浏览器中的公钥进行解密,每个“CA 证书”都会有一个证书编号可用于解密后进行比对(具体验证算法请查阅相干材料)。步骤 5 之前应用的是对称加密,之后将应用对称加密来进步通信效率。CA证书流程原理 根本的原理为,CA负责审核信息,而后对要害信息利用私钥进行"签名",公开对应的公钥,客户端能够利用公钥验证签名。CA也能够撤消曾经签发的证书,根本的形式包含两类 CRL 文件和 OCSP。CA应用具体的流程如下:在这个过程留神几点: a.申请证书不须要提供私钥,确保私钥永远只能服务器把握;b.证书的合法性依然依赖于非对称加密算法,证书次要是减少了服务器信息以及签名;c.内置 CA 对应的证书称为根证书,颁发者和使用者雷同,本人为本人签名,即自签名证书(为什么说"部署自签SSL证书十分不平安")d.证书=公钥+申请者与颁发者信息+签名;CA证书链 如 CA根证书和服务器证书两头减少一级证书机构,即两头证书,证书的产生和验证原理不变,只是减少一层验证,只有最初可能被任何信赖的CA根证书验证非法即可。a.服务器证书 server.pem 的签发者为两头证书机构 inter,inter 依据证书 inter.pem 验证 server.pem 的确为本人签发的无效证书;b.两头证书 inter.pem 的签发 CA 为 root,root 依据证书 root.pem 验证 inter.pem 为本人签发的非法证书;c.客户端内置信赖 CA 的 root.pem 证书,因而服务器证书 server.pem 的被信赖。06.Https工作原理HTTPS工作原理 ...

September 25, 2020 · 1 min · jiezi

关于https:利用本地HTTPS模拟环境为FastAPI框架集成FaceBook社交三方登录

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_174 提起社交,就不得不说马克·扎克伯格(Mark Zuckerberg)一手开办的社交网络(FaceBook)。进入2020年,FaceBook的寰球用户数曾经冲破了30亿,这是什么概念?寰球人口大概70亿,除开中国14亿,还有56亿。国外市场是四倍于中国的潜在市场,扣除短期内有上网限度的人群,那也是两倍以上。站在寰球视角看问题,说微信、支付宝偏安一隅,其实也并不为过。所以为你的平台集成寰球最大用户基数的社交登录零碎,显然能够为你带来更多的潜在用户,本次咱们应用当红炸子鸡FastAPI框架来集成FaceBook的三方登录。 首先在https://developers.facebook.c...,并且创立一个利用: 输出一个利用名称 创立胜利之后,须要加利用id(appid)和利用秘钥记录下来,之后会用到: 这之后增加产品,抉择FaceBook登录,并且进行设置,将回调网址配置好,这是登录胜利后跳转回网址的地址: 这里须要留神的是,FaceBook官网对安全性要求很高,它要求三方的利用强制应用HTTPS协定,而个别状况下本地环境的解决方案就是应用自签证书,所以这里应用一种更加简略敌对的形式生成本地https证书,并且信赖自签CA的计划——mkcert。 mkcert是一个应用go语言编写的生成本地自签证书的小程序,具备跨平台,应用简略,反对多域名,主动信赖CA等一系列不便的个性可供本地开发时疾速创立https环境应用。 装置形式也非常简单,因为Go lang的动态编译和跨平台的个性,官网提供各平台预编译的版本,间接下载到本地,给可执行权限(Linux/Unix须要)就能够了。Github地址:https://github.com/FiloSottil... 如果是Win10平台,能够应用Chocolatey来装置: choco install mkcertMac os平台则能够应用Homebrew,十分不便: brew install mkcert装置胜利之后,运行命令将CA证书退出本地可信CA: mkcert -install在Win10的可信CA列表能够找到该证书: 同理在Mac OS的证书列表同样也能够找到: 接下来咱们就能够生成自签证书了,比方本地通过localhost或者127.0.0.1来拜访你的web利用: mkcert localhost 127.0.0.1 ::1会主动生成: liuyue:blog liuyue$ mkcert localhost 127.0.0.1 ::1 Created a new local CA at "/Users/liuyue/Library/Application Support/mkcert" ???? Warning: the local CA is not installed in the system trust store! ⚠️ Warning: the local CA is not installed in the Firefox trust store! ⚠️ Warning: the local CA is not installed in the Java trust store! ⚠️ Run "mkcert -install" to avoid verification errors ‼️ Created a new certificate valid for the following names ???? - "localhost" - "127.0.0.1" - "::1" The certificate is at "./localhost+2.pem" and the key at "./localhost+2-key.pem" ✅能够看到胜利生成了localhost+2.pem证书文件和localhost+2-key.pem私钥文件。 ...

September 25, 2020 · 2 min · jiezi

关于https:国密SSL协议之Nginx集成

1 背景 Nginx本身反对规范的SSL协定,但并不反对国密SSL协定。本文形容了Nginx配置的国密SSL协定(单向)的残缺过程,仅供学习和参考之用。 特点:Nginx 无需改变源码、反对任意版本。2 环境服务器OS是CentOS7.7的64位版本,IP位192.168.0.98,客户端OS是WindowsXP。 Nginx是Nginx-1.18.0。 浏览器是360平安浏览器(反对国密)。 3 装置办法一:源码编译 GMSSL.cn提供一个OpenSSL的国密版库,可与nginx编译,生成的nginx即反对国密SSL协定。 1)筹备gmssl_openssl 下载页面https://www.gmssl.cn/gmssl/in... 下载其中的gmssl_openssl_1.1_b1.tar.gz 下载页面https://www.gmssl.cn/gmssl/in... 拷贝到/root/目录 解压 tar xzfm gmssl\_openssl\_1.1\_bxx.tar.gz -C /usr/local**则/usr/local/gmssl为国密版openssl目录 2)筹备nginx 下载页面http://nginx.org/download/ngi... 拷贝到/root/目录 解压 tar xzfm nginx-1.18.0.tar.gz**则/root/nginx-1.18.0为nginx目录 cd /root/nginx-1.18.0 vi auto/lib/openssl/conf,将全副$OPENSSL/.openssl/批改为$OPENSSL/并保留 3)编译 ./configure \ --without-http_gzip_module \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_v2_module \ --with-file-aio \ --with-openssl="/usr/local/gmssl" \ --with-cc-opt="-I/usr/local/gmssl/include" \ --with-ld-opt="-lm" make install **则/usr/local/nginx为生成的国密版nginx目录 注:可能须要装置须要的pcre-devel包。 4 装置办法二:间接装置 GMSSL.cn曾经提供了一个按办法一编译好的国密版nginx,能够间接下载安装应用。 下载页面https://www.gmssl.cn/gmssl/in... 下载其中的gmssl\_nginx\_1.8.0\_b7.tar.gz拷贝到/root/目录 解压 tar xzfm gmssl\_nginx\_1.8.0\_bxxx.tar.gz -C /usr/local**则/usr/local/nginx为国密版nginx目录 5 国密双证书 1)生成国密双证书 拜访https://www.gmssl.cn/gmssl/in...,可生成收费的测试国密双证书。 ...

September 22, 2020 · 1 min · jiezi

关于https:个人学习系列-Spring-Boot-集成-https

最近都在用https了,可是咱们创立一个springboot的我的项目还是用http,明天咱们来看一下怎么将http变成https。。。1. 生成证书这里咱们须要应用jdk自带的keytool命令生成证书并复制到咱们我的项目的目录下。 1.1 关上CMD关上咱们装置的jdk的bin目录: 1.2 应用keytool命令生成证书应用keytool命令生成证书: keytool -genkey -alias server(别名) -keypass 123456(别名明码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore D:/keys/server.keystore(指定生成证书的地位和证书名称) -storepass 123456(获取keystore信息的明码)依据本人的理论状况依照此格局进行生成即可: 查看指标文件夹发现证书曾经生成结束! 2. 新建springboot我的项目2.1 pom.xml这里咱们只是引入web即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>2.2 application.ymlserver: ssl: # 证书门路 key-store: classpath:server.keystore # 与申请时输出统一 key-alias: server enabled: true key-store-type: JKS #与申请时输出统一 key-store-password: 123456 # 浏览器默认端口 和 80 相似,https默认的端口号为443 port: 4432.3 HttpsConfig配置文件import org.apache.catalina.Context;import org.apache.catalina.connector.Connector;import org.apache.tomcat.util.descriptor.web.SecurityCollection;import org.apache.tomcat.util.descriptor.web.SecurityConstraint;import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * <p> * HTTPS 配置类 * </p> * * @author www.zhouzhaodong.xyz * @date Created in 2020/9/17 14:30 */@Configurationpublic class HttpsConfig { /** * 这里须要查看application.yml外面的端口号配置 * 配置 http(80) -> 强制跳转到 https(443) */ @Bean public Connector connector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setPort(80); connector.setSecure(false); connector.setRedirectPort(443); return connector; } @Bean public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector) { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; tomcat.addAdditionalTomcatConnectors(connector); return tomcat; }}2.3 创立一个HttpsController/** * 控制器 * @author www.zhouzhaodong.xyz * @date Created in 2020/9/17 14:30 */@RestControllerpublic class HttpsController { @RequestMapping("/") public String https(){ return "success"; }}3. 进行测试启动我的项目,浏览器拜访 http://localhost 将主动跳转到 https://localhost并显示内容: ...

September 17, 2020 · 1 min · jiezi

关于https:透视HTTPS建造固若金汤的城堡

公众号:码哥字节,转载请分割公众号为什么有 HTTPS?因为 HTTP 不平安! 当初的互联网曾经不再是 “田园时代”,“光明森林” 曾经到来。上网的记录会被轻易截获,网站是否实在也无奈验证,黑客能够伪装成银行网站,盗取实在姓名、明码、银行卡等敏感信息,威逼人身安全和财产平安。 上网的时候必须步步为营、处处小心,否则就会被不晓得潜伏在哪里的黑客所“猎杀”。 HTTPS 如何实现平安通信?如何构建出铜墙铁壁的网络城堡?次要波及的知识点如下: 理解什么是 HTTPS什么样的才是平安的通信对称加密与非对称加密、摘要算法、数字签名、完整性校验到底是什么迁徙 HTTPS 的必要性什么是平安做事要稳,老司机【码哥字节】开车要平安!不论是戴杜蕾斯还是安全气囊,“平安至关重要”! 在通信过程中,具备以下个性则认为平安:机密性、完整性、不可否认、身份认证 机密性 数据必须窃密,只能有信赖的人读取,其他人是不可见的机密。诸葛亮的密报总不能让司马懿晓得呀,不然还玩个蛋。艰深的说:就是不能让不相干的人看到不该看的货色。 完整性 也叫作一致性,也就是数据在传输过程中没有被非法篡改,内容不能多也不能少,如数家珍的保持原状。 打个比方,本来张无忌说:“赵敏,么么哒。”,传信的飞鸽被周芷若抓到了,截取了音讯,改成了 “赵敏,去死吧!”。这么子搞,倚天屠龙记可能就会被改写了。 不可否认 也就做不可抵赖,不能否定曾经产生过的事件。所谓 “君子一言,驷马难追”。“老懒” 这种事件不能产生。 就像尹志平密切接触了小龙女,预先始终瞒哄否定,装作不晓得,这是万万不可的。所以最终就嗝屁了。 身份验证 也就是确认对方的实在身份,“证实你是真的是你”,保障音讯发送到可信的人,而不是非法之徒。 比方令狐冲写了一份情书给任盈盈:“盈盈,冲哥哥爱你哟”,然而岳不群看到快递小哥,假冒是令狐冲,截取了情书后回复:“傻逼,白日做梦”。令狐冲不晓得这是岳不群的回复,认为是任盈盈的,笑傲江湖又要重写了…… 所以同时具备了机密性、完整性、身份认证、不可够人四个个性,通信单方的平安才有保障,才是真正的平安。 什么是 HTTPS到这里,终于轮到 HTTPS 下台了,也就是它为 HTTP 减少了刚刚说的四大平安个性。 HTTPS 其实是一个“非常简单”的协定,规定了新的协定名“https”,默认端口号 443,至于其余的什么申请 - 应答模式、报文构造、申请办法、URI、头字段、连贯治理等等都齐全沿用 HTTP,没有任何新的货色。惟一的差异就是端口号不同、去掉明文传输。 那 HTTPS 凭啥就变得平安了呢? 就是因为他在 TCP/IP 与 HTTP 之间加上了 SSL/TLS ,从原来的 HTTP over TCP/IP 变成了 HTTP over SSL/TLS,让 HTTP 运行在 平安的 SSL/TLS 协定上,平安开车。 ...

September 14, 2020 · 2 min · jiezi

关于https:国密SSL协议之性能测试

1 背景国密SSL在实际上线和应用过程中,性能就是一个必须面对的问题。国密SSL和规范SSL相比,算一个新生事物,没有欠缺完备的性能测试工具。本文针对国密SSL性能测试,形容了相干指标,并提供一些根本的办法和工具,也做了nginx/tomcat/硬件网关的测试比照。2 国密SSL性能指标国密SSL性能指标次要有三个:新建速率(CPS,Connection per second)、加密吞吐(Throughput)、最大并发连贯(Max Persistent Connections) 其中CPS和吞吐与性能强相干,最大并发连贯和内存大小强相干。 2.1 新建速率CPSCPS掂量的是国密SSL建设的快慢(次要波及非对称明码解决),新建指的是以下步骤的总和: 1) 客户端与服务器/网关建设TCP; 2) 客户端与服务器/网关建设国密SSL(不应用会话重用); 3) 客户端从服务器/网关下载一个小页面(不应用HTTP的Keep-Alive),页面大小为64字节或者1K字节; 4) 客户端与服务器/网关敞开国密SSL; 5) 客户端与服务器/网关敞开TCP; 2.2 加密吞吐加密吞吐掂量的是国密SSL对数据加解密的快慢(次要波及对称明码解决),通常测试下载一个较大的页面,比方下载1M字节页面。 2.3 最大并发连贯最大并发连贯次要看国密SSL服务器/网关可能同时放弃多个在线连贯,通常能够建设好连贯,下载一个小页面,而后做Keep-Alive放弃,一直新减少连贯,直到减少会出错。 3 国密SSL性能剖析国密SSL,以算法SM2_SM4_SM3为例,次要波及SM2、SM3、SM4的明码解决。其中新建速率与SM2性能强相干,加密吞吐则与SM3/SM4性能强相干。 另外SM2算法有其本身特点。基本上签名的速度>验签的速度,同时SM2加密速度<SM2解密速度;这个特点正好和RSA反过来,RSA是签名速度远小于验签速度,同时RSA公钥加密的速度远远大于私钥解密的速度。 联合到国密SSL协定,则通常呈现一个景象: 1) 单向国密SSL应用SM2算法,客户端比服务器端更耗费性能,因为客户端是SM2加密; 2) 单向规范SSL应用RSA算法,服务器端比客户端更耗费性能,因为客户端是RSA加密; 4 国密SSL性能测试方法4.1 拓扑 图1 测试拓扑 4.2 硬件测试仪规范SSL硬件测试仪次要有思博伦的avalanche等,目前不分明是否反对国密SSL协定,或者反对国密SSL插件。国内硬件测试仪状况不详。 4.3 LoadRunnerLoadRunner是软件测试性能的办法之一。好消息是LoadRunner反对第三方插件,通过第三方插件就可能反对国密SSL协定。 4.4 gmabApache ab也能够反对规范SSL协定性能测试,但不反对国密。但ab是有源码的,能够自行减少国密SSL协定反对。 www.gmssl.cn提供一个国密ab的实现,软件名称叫gmab。下载参见: https://www.gmssl.cn/gmssl/in... 4.5 gmkb后面剖析到,对于国密SSL而言,客户端的性能耗费要大于服务器/网关端的性能耗费,因而应用LoadRunner和gmab的话,须要多台高性能客户端压力机。 www.gmssl.cn提供一个国密SSL性能测试的“黑”科技软件gmkb,可能通过一个客户端压力机就能够简略评估出服务器/网关的国密SSL的CPS性能。下载参见: https://www.gmssl.cn/gmssl/in... 4.6 gmcbwww.gmssl.cn提供一个国密SSL性能测试加密吞吐的软件gmcb,可能通过一个或者多个客户端压力机测试出服务器/网关的国密SSL的加密吞吐性能。下载参见: https://www.gmssl.cn/gmssl/in... 5 国密SSL性能测试后果5.1 Web服务器通过gmab和gmcb,咱们简略测试了www.gmssl.cn的nginx国密SSL性能和tomcat的国密SSL性能。测试的单向国密SSL的性能,服务器为CentoOS7,CPU为Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz,内存为16G,网卡为intel万兆电口。 Nginx国密版本1.8.0,装置下载参见https://www.gmssl.cn/gmssl/in... 国密Nginx性能如下: 新建:3600 吞吐:693MBps 并发:50w ...

September 14, 2020 · 1 min · jiezi

关于https:国密SSL协议之双证书体系

背景国密SSL协定应用双证书体系。本文形容了国密双证书体系的组成和差异,并形容了在U盾外面的应用状况。国密SSL双证书 国密SSL协定应用双证书体系,别离称为签名证书和加密证书,服务器和用户持有两对SM2独立的密钥对。其中加密证书和签名证书次要的区别就是密钥用法(KeyUsage)不一样(当然对应的密钥等也不一样),应用雷同的DN。密钥用法具体是:签名证书:Digital Signature, Non-Repudiation (c0)加密证书:Key Encipherment, Data Encipherment, Key Agreement (38) 国密SSL加密证书的颁发流程 国密CA体系外面,加密密钥对是在CA端产生的,和通常的签名证书流程不一样(签名密钥对通常是用户本人产生的,发送证书申请给CA来申请证书)。 那用户怎么平安取得加密证书和私钥呢?国密标准规定,加密私钥须要通过数字信封应用用户的签名公钥加密。CA将加密私钥密文返回给用户,用户因为有对应的签名私钥,因而只有该用户才能够解开密文,取得加密私钥。过程如下: 1)用户应用U盾产生签名密钥对,生成签名证书申请,发送签名证书申请给CA; 2)CA审核生成签名证书,产生加密密钥对,生成加密证书; 3)CA生成对称密钥,应用用户签名公钥加密,输入对称密钥密文; 4)CA应用对称密钥,加密用户加密私钥,输入加密私钥密文; 5)CA返回给用户签名证书、加密证书、对称密钥密文和加密私钥密文; 6)用户导入对称密钥密文,应用U盾外部签名私钥解密,取得对称密钥句柄; 7)用户应用对称密钥句柄解密加密私钥,取得加密私钥明文。 用户应用SKF(U盾)接口时,6)和7)以及导入加密证书时,应用一个API一步实现的,所述过程是在U盾外部的解决。 国密U盾伴侣 目前大部分国密U盾的管理工具,并不反对国密证书申请产生和国密证书应答导入。www.GMSSL.cn提供一个《国密U盾辅助工具》,反对国密生成证书申请/导入证书应答操作。目前反对龙脉科技的mToken GM3000。下载请参见https://www.gmssl.cn/gmssl/in...1)生成证书申请2)提交签名证书申请给https://www.gmssl.cn/gmssl/in...3)www.gmssl.cn生成签名证书/加密证书/加密私钥密文4)导入证书应答 国密测试CA www.GMSSL.cn提供一个国密测试CA。通过国密CA,配合国密U盾伴侣,能够给用户生成国密双证书,而后能够通过国密浏览器,就应用证书登录国密双向认证的网站了。CA参见https://www.gmssl.cn/gmssl/in...

September 9, 2020 · 1 min · jiezi

关于https:网络协议彻底弄清POST和GET请求的区别这次你GET了么

1 引言我想大家在面试中应该常常有被问到POST和GET申请的区别,很多人都会答复诸如POST比GET平安,GET比POST传输的长度要少之类的,然而,这会是面试官想要的答案么?这样的答复听下来不免像是囫囵吞枣的背诵下来的,并且就算是背,多少也得晓得一下原理呀。明天,少侠就带着问题和大家一起看看POST和GET申请的区别。 2 HTTP协定2.1 HTTP协定的特点首先,咱们应该晓得,无论是POST还是GET申请,都是基于超文本传输协定(HTTP)的,而HTTP协定是TCP/IP协定族的应用层协定。HTTP协定客户端申请request音讯包含以下格局:申请行(request line)、申请头部(header)、空行、申请数据; 服务端响应response也由四个局部组成,别离是:响应行、响应头、空行、响应体。 2.2 申请办法HTTP协定定义了多种申请形式,具体如下:GET:获取资源,用来申请拜访已被URI(对立资源标志符,和URL是蕴含和被蕴含的关系)辨认的资源。POST:用来传输实体的主体,尽管GET也能够实现,然而个别不必。PUT:传输文件。然而鉴于PUT办法本身不带验证机制,任何人都能够上传文件,存在安全性问题,因而个别网站都不采纳该办法。HEAD:取得报文首部。和GET申请一样,只是不返回报文主体局部。DELETE:删除文件。同样不带验证机制,存在安全性问题。OPTIONS:询问指定的申请URI反对哪些办法。TRACE:追踪门路,让Web服务器将之前的申请通信环回给客户端的办法。CONNECT:要求在与代理服务器通信时建设隧道,实现隧道协定进行TCP通信。 3 POST和GET申请区别的常见误区3.1 申请参数长度限度:GET申请长度最多1024kb,POST对申请数据没有限度对于此点,在HTTP协定中没有对URL长度进行限度,这个限度是不同的浏览器及服务器因为有不同的标准而带来的限度。 3.2 GET申请肯定不能用request body传输数据GET能够带request body,但不能保障肯定能被接管到。如果你用GET服务,在request body偷偷藏了数据,不同服务器的解决形式也是不同的,有些服务器会帮你读出数据,有些服务器间接疏忽。 3.3 POST比GET安全性要高这里的平安是相对性,通过GET提交的数据都将显示到URL上,页面会被浏览器缓存,其他人查看历史记录会看到提交的数据,而POST不会。另外GET提交数据还可能会造成CSRF攻打。 3.4 GET产生一个TCP数据包,POST产生两个TCP数据包对于GET形式的申请,浏览器会把http header和data一并发送进来,服务器响应200 OK(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK(返回数据)。留神,只管POST申请会分两次,但body 是紧随在 header 前面发送的,基本不存在『期待服务器响应』一说。 4 POST和GET申请的区别小结申请参数:GET申请参数是通过URL传递的,多个参数以&连贯,POST申请放在request body中。申请缓存:GET申请会被缓存,而POST申请不会,除非手动设置。珍藏为书签:GET申请反对,POST申请不反对。安全性:POST比GET平安,GET申请在浏览器回退时是有害的,而POST会再次申请。历史记录:GET申请参数会被残缺保留在浏览历史记录里,而POST中的参数不会被保留。编码方式:GET申请只能进行url编码,而POST反对多种编码方式。对参数的数据类型:GET只承受ASCII字符,而POST没有限度。 这里还想补充阐明一点,就是通过浏览器地址栏输出URL拜访资源的形式都是GET申请。我是少侠露飞。爱技术,爱分享。

September 8, 2020 · 1 min · jiezi

关于https:acmesh-快速实现-https-证书颁发与自动续期

acme.sh 疾速实现 https 证书颁发与主动续期借助acem.sh来迅速实现 let's encrypt 的泛域名 ssl 证书颁发与续期,基本上五分钟就能够解决战斗 本文次要内容来自 acme.sh 的官网 wiki,所有以官网阐明为准: acme wiki<!-- more --> I. 装置步骤1. 登录服务器登录到某台 linux 服务器,我这里以 Centos 举例说明 ssh xxx@xxx# 切换root账号su2. 装置acme.shyum install socat -ycurl https://get.acme.sh | shcd ~/.acme.sh/3. 申请密钥到域名购买服务商,申请 api key,用于前期的 txt 记录验证 DNSPod 密钥申请结束之后,如下操作导入命令 # DNSPodexport DP_Id="id"export DP_Key="key"阿里云 ALY_KEY 和 ALY_TOKEN:阿里云 API key 和 Secrec 官网申请文档。申请结束之后,如下操作 export Ali_Key="key"export Ali_Secret="secret"godaddy GODADDY_KEY 和 GODADDY_TOKEN:GoDaddy API 密钥官网申请文档export GD_Key="key"export GD_Secret="secret"其余 至于其余平台,应该如何导入 API key,能够参考上面的文档,这里不一一阐明了 ...

August 10, 2020 · 2 min · jiezi

关于https:前端面试每日-31-第480天

明天的知识点 (2020.08.08) —— 第480天 (我也要出题)[html] H5的哪些个性须要https反对呢?[css] 请说说position:absolute和float有什么不同?[js] 应用js实现变态跳台阶[软技能] 你是如何压缩图片的?用的什么工具?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

August 8, 2020 · 1 min · jiezi

关于https:你以为升级HTTPS就万事大吉了吗

大部分同学应该都晓得 HTTP 协定的网站是不平安的,存在中间人劫持的状况,因而咱们平时开发的网页都会将 HTTP 协定降级为 HTTPS,以确保不会被中间人劫持。 注:本文不波及 HTTPS 的实现原理以及中间人劫持的概念,不理解的同学先去恶补 可是你们认为这样就相对平安了吗?咱们想想上面的场景: 通常状况下,咱们关上一个一般的网站可能是通过以下几个形式: 间接点击珍藏栏通过搜索引擎找到间接输出域名当采纳 间接输出域名 的形式时,如下图所示: 这时候咱们并没有通知浏览器以后申请的网站协定是https,然而咱们最终关上的还是 https 协定的百度网站。这是为什么呢? 其实就是重定向帮咱们做了肉眼看不见的事件,具体流程见下图 那么这个过程中第一步就会波及名文的传输,因而有了被中间人攻打的机会,所以咱们该如何防止这种状况的呈现呢?答案就是本文须要介绍的 HSTS HSTSMDN 对 HSTS 的定义十分直白 HTTP Strict Transport Security(通常简称为HSTS)是一个平安性能,它通知浏览器只能通过HTTPS拜访以后资源,而不是HTTP。通过定义咱们能够画出上面这样的流程图 当发动 http 的申请,不通过服务器间接变成 HTTPS 将申请收回去。 具体怎么能力让 HSTS 其作用呢?咱们接着看。 Strict-Transport-Security通过给https协定的网站的response header配置Strict-Transport-Security Strict-Transport-Security: max-age=<expire-time>; includeSubDomains(可选); preload(可选,非标准)每个属性的定义如下: max-age=<expire-time> -- 在浏览器收到这个申请后的<expire-time>秒的工夫内无效。-- 如果这个可选的参数被指定,那么阐明此规定也实用于该网站的所有子域名。preload -- 谷歌保护着一个 HSTS 预加载服务。依照批示胜利提交你的域名后,浏览器将会永不应用非平安的形式连贯到你的域名。尽管该服务是由谷歌提供的,但所有浏览器都有应用这份列表的动向(或者曾经在用了)。然而,这不是 HSTS 规范的一部分,也不该被当作正式的内容。咱们看到百度的网站也设置了Strict-Transport-Security。 示意在172800秒的工夫内拜访百度的主页都是以https的模式,不过他并没有设置includeSubDomains这个属性。 仔细的同学可能发现了,有一种状况下还是没方法防止中间人劫持。那就是,在用户第一次拜访网站并且应用 http 协定的状况下,如果真要全面避免只能通过给域名增加 preload 的形式。具体方法请加入 MDN 增加preload 总结有了下面的根底,让咱们总结一下三种首次拜访的状况 没有HSTS 浏览器发动http申请服务端重定向到https浏览器发动https申请有HSTS,没有preload 浏览器发动http申请服务端重定向到https浏览器发动https申请服务器收到https申请,返回数据的同时会增加 strict-transport-security的header,配置参见上文。每次https申请都会刷新这个过期工夫。有HSTS以及preload(最佳实际) ...

July 22, 2020 · 1 min · jiezi

基础科普大白话详解HTTPS

作者:_Big shark@LX_出处:https://juejin.im/post/5eb3c6... 我相信大家面试的时候对于 HTTPS 这个问题一定不会陌生,可能你只能简单的说一下与 HTTP 的区别,但是真正的原理是否很清楚呢?他到底如何安全?这一篇让我们用大白话来揭开 HTTPS 的神秘面纱吧! HTTPS 是什么 HTTPS 是什么?答:HTTPS 不就是 HTTP 后面多加了一个 S 吗? 对这里的 S 就是指 SSL/TLS(就是一种安全加密协议,想深入了解的同学可以自行百度),HTTPS 是在 HTTP 的基础上,利用 SSL/TLS 加密数据包。 我们记住两个主要目的就行: 对数据加密验证网站服务器身份HTTPS 怎么对数据进行加密 我们已经知道 HTTPS 第一个目的是给数据加密,对于数据加密,我们这里要谈到两种加密方式: 对称加密:所谓对称就是指两边一样 发送方和接收方都用的同一个密钥,加密解密都是同一个密钥从始至终只需要保存一个密钥就行。非对称加密:发送方和接收方使用一对密钥,即公钥和私钥。一般私钥是保密不能被泄露的,公钥可以对外传播。我们可以用公钥加密私钥解密(数据加密) 也可用私钥加密公钥解密(签名下面会解释) 混合加密:知道了两种加密方式的优缺点之后,我们的 HTTPS 就很厉害了,它采用两者混合的加密方式。 不是说对称加密的密钥不安全吗?那我们换一种思路,我们在传递过程把我们的对称加密中的密钥用非对称加密的方式去传递就好了。 这句话有点绕,我们看上图: 客户端生成会话秘钥就是我们对称加密生成的密钥。它用公钥加密之后进行传递(这个时候被加密的不是数据  是这个会话秘钥 等于把钥匙加密了)  这里的公钥就是非对称加密中的公钥 他是由服务器传递过去的(对外公开)。服务端用非对称加密的私钥去解密 拿到我们的会话秘钥。客户端和服务端都能用同一个会话秘钥进行加解密了。就算传输过程被攻击者截取到了被加密的会话秘钥 他没有服务器的私钥是无法得到会话秘钥的。 整个过程巧妙之处就在于之前我们传递的是钥匙,现在我们传递的是保险箱,钥匙在保险箱里面,你就算拿到了保险箱,没有保险箱的钥匙也拿不到钥匙。 HTTPS 怎么验证网站服务器身份 HTTPS 第二个目的是对网站服务器进行真实身份认证,那么这一点又是怎么做到的呢? 先来看一个问题,上一步我们已经解决了数据加密的问题,虽然攻击者无法解密数据,但是他可以篡改数据,我们怎么知道数据没被动过呢? 数据被篡改怎么办 这个时候就要使用数字签名了,数字签名:将原文(部分数据关键信息)先用 Hash 函数生成消息摘要,然后用发送者的私钥加密生成数字签名,与原文一起传送给接收者。 两个关键点: Hash 算法计算生成信息摘要私钥加密生成数字签名客户端如何校验数字签名呢?(利用服务器私钥加密,公钥解密)客户端收到服务器发过来的数字签名之后: 用服务端的公钥去解密数字签名得到消息摘要 (原始未被篡改的)用 Hash 函数对收到的原文计算生成一个摘要信息 (可能会被篡改的)如果两个信息摘要一致,说明数据没有被篡改。OK,到这里可能你觉得没问题了! ...

July 5, 2020 · 1 min · jiezi

简述HTTPS的通信机制

HTTPS是什么?HTTPS = HTTP + 加密 + 认证 + 完整性保护。简单点说HTTPS可以看做是对HTTP的一个扩展,在HTTP的基础上添加了一些其他的东西。加密、认证和完整性保护,添加这么些东西就很明显是为了保证数据的安全性。 HTTP的不足: 通信使用明文(未加密),内容可能会被窃听没有验证通信方的身份,可能遭遇伪装无法证明报文的完整性,可能会被篡改HTTPS的作用便是为了解决上述问题。HTTPS并不是一个新的协议,只是HTTP披了一层SSL或TLS的马甲。在四层模型中,HTTP位于应用层,是直接和传输层的TCP进行通信。当使用了SSL之后,则是HTTP和SSL通信,然后SSL再和TCP进行通信。注:TLS实际上是以SSL3.0为基准制定的。当前主流版本是SSL3.0和TLS1.0。 关于SSL的加密方式HTTPS相对于HTTP最重要的一点则是在对于数据的加密解密上。 共享秘钥加密(对称加密) 加密和解密使用同一个秘钥的方式被称为共享秘钥加密。以这种方式加密时必须将秘钥也发给对方,在复杂的网络上传输秘钥时,如果通信被监听,秘钥就很可能会落入到攻击者的手中,加密便失去了意义。 公开秘钥加密(非对称加密) 公开秘钥加密使用的是一对非对称的秘钥,一个叫做公开秘钥,一个叫做私有秘钥。顾名思义,任何人都可以得到公开秘钥,而私有秘钥则不能让其他人知道。使用公开秘钥加密的方式,由发送方使用公钥对信息进行加密,接收方则使用私钥进行解密。使用这种方式则不需要担心秘钥被攻击者盗走。HTTPS采用的是混合的方式 公开秘钥加密方式由于更加复杂,因此在通信是使用公开秘钥加密的方式则效率相对来说会很低,而共享秘钥加密的效率会很高,但却不能让秘钥安全的进行交换。所以应该充分利用两者的优势,使用公开秘钥加密传输共享秘钥加密使用的秘钥,然后使用共享加密进行通信。但还存在一个问题:不能保证公开密钥本身就是有效的。为了解决这个问题,数字证书认证机构(CA)粉墨登场。 服务器运营人员会向CA提出公开秘钥的申请,CA在判明申请者的神风之后,会对申请的公开秘钥进行数字签名并将其放入公钥证书中服务器会将公钥证书放松给客户端客户端使用公钥证书的公开秘钥(一般内置在浏览器中)对证书进行验证验证通过后,客户端便拿到了公开秘钥加密中的公开秘钥HTTPS的通信过程上面说了那么多,再看看这张图。有没有感觉像是一个套娃的过程。使用共享秘钥加密,则需要交换秘钥 => 使用公开秘钥加密交换秘钥,则需要交换公开密钥 => CA认证,发送公开秘钥证书 => 验证有效性,取出公开秘钥,对生成的秘钥(随机字符串)进行加密发送给服务器 => 服务器利用私有秘钥解密出秘钥 => 开始通信 为什么不一直使用HTTPS? 由于存在加密过程和额外的SSL通信,处理速度会变慢AC认证需要花费增加额外的开销加密通信会消耗服务器和客户端更多的CPU和内存参考:《HTTP图解》

June 24, 2020 · 1 min · jiezi

base64基础

base64在数据传输过程中经常会遇到乱码的问题(特别是使用非拉丁字母的时候),这时就需要把数据转换成可以被广泛识别的编码形式,base64就是这样的,它会把数据按每3个字符一组转换成二进制数,每组24个字节(3*8=24),不是3的倍数是后面补一个或两个 ‘=’ ,然后把这24个字节分成4组(24/4=6),可以得到每6个字节一组,把每组数据再转换成十进制得到十进制数,按照得到的十进制数查定义的base64表,就可以得到转换后的数据,base64的字母表只包含,A~Z,a~z,0~9,+,/ 这些字符,也可以自己定义。 优点:可以避免乱码或一些浏览器无法识别的字符问题缺点:文件会增加大概 33% 在终端中用 base64 a.txt 可以对a.txt 里的文件加密

June 10, 2020 · 1 min · jiezi

一张图告诉你为什么HTTPS是安全的

作者:站在书脊之上链接:https://juejin.im/post/5ebe68...为什么要有HTTPS 在HTTPS出现之前,所有请求都是以明文方式送出的,那么如果有人在传输途中偷听或者抓包的话,你的所有通信内容都会泄漏。比较安全的方法是将通信内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。 对称加密 对称加密指的是加密和解密用同一个密钥。但是在通信之前,客户端和服务端是不会有这样同一把密钥的。需要其中一方将密钥发送给对方。在整个传输过程没有任何验证操作,所以黑客也可以截取到这把密钥从而破译出加密的内容。所以纯对称加密是不安全的。 非对称加密 非对称加密指的是加密和解密用不同的密钥。可以是用私钥加密,公钥解密,也可以是用公钥加密,私钥解密。但是会有这种情况。服务端拥有私钥和公钥,将公钥发给客户端。既然客户端可以获得公钥,黑客也可以获得公钥。那么服务端发送给客户端的所有内容黑客也是可以解读的。客户端用公钥加密发送给服务端不受影响,因为黑客手上没有服务器的私钥。所以纯非对称加密也是不安全的。 传输密钥的过程 登场人物介绍 图解传输密钥的过程 HTTPS采用对称加密来加密通信内容,所用的密钥称为A。用非对称加密来加密密钥A再发送给对方(有点绕)。只要密钥A不落入他人手中,那传输的数据就不会被别人破译。 那么问题来了,要如何安全的将这把密钥送到对方手上呢? 我们来看密钥的传输过程 为什么HTTPS是可靠的? HTTPS是可靠的,因为它解决了三个问题。 加密通信,即使别人获取到了信息也没法复原成原来的信息。 防止中间人攻击。黑客没法冒充服务端。因为在第2步,服务端给了客户端一个CA证书。 如果客户端验证了这个证书,说明这个证书和公钥是由服务端发来的且真实可靠。如果客户端验证不了这个证书,就说明这个证书不可靠,有可能是假的。CA证书的公信力。CA证书需要由公司或者个人发出申请,再通过邮箱验证等方法验证域名存在。避免了黑客冒充网站获取证书的可能。 在技术层面上,CA机构的公钥是写在操作系统或者浏览器里的。只有用CA机构的私钥加密的内容才能完成解密。确保了证书的确是CA机构发行的。 密钥的作用 最后让我们再来回顾一下每一把密钥的作用 最新整理的 2TB 技术干货:包括架构师实战教程、大数据、Docker容器、系统运维、数据库、redis、MongoDB、电子书、Java基础课程、Java实战项目、ELK Stack、机器学习、BAT面试精讲视频等。只需在「 民工哥技术之路」微信公众号对话框回复关键字:1024 即可获取全部资料。

June 9, 2020 · 1 min · jiezi

啥是HTTPS终于有人把它说清楚了

作者:极客挖掘机来源: https://www.cnblogs.com/babyc... 引言最近上海连续下了一周雨,温度一夜之间回到解放前,穿夏装的我被冻得瑟瑟发抖,躲在家里哪也不想去。 在家百无聊赖的刷着网页,看到公众号后台的留言,有同学问我 HTTP 和 HTTPS 有啥区别? 这还用问,当然是 HTTPS 要比 HTTP 更加的安全啊,没看到后面带着个 S 呢么,带着 S 就这么 NB 。 然后同学的下一个问题把我问懵逼了,为啥带 S 的更安全呢?能详细的讲讲么。 我跟你讲嗷,不是我吹,我这么多年。。。。。。 就没见过你这么刨根究底的同学,老问这种我也不是很清楚的问题。 虽然这个问题问的我老脸一红,但是我有一种不要脸的精神 「我不会,但是我可以学」 。 HTTP首先先来了解下 HTTP : HTTP 协议全称为:Hyper Text Transfer Protocol ,翻译过来就是超文本传输协议,请不要质疑这个翻译,我专门用百度翻译翻了一下。 TCP/IP 四层模型应该都知道的,有数据链路层,网络层,传输层和应用层: 而 HTTP 协议就是位于 TCP/IP 四层模型的应用层上。 这里很多人都会混淆 TCP 和 HTTP ,实际上 HTTP 是基于 TCP 连接基础上的。 简单的说, TCP 就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。而 HTTP 是用来收发数据,即实际应用上来的。 HTTP 协议通过请求和响应在客户端和服务端之间收发数据,进行通信: HTTPSHTTP 协议看起来好像没啥问题,唯一的问题就是不够安全,因为 HTTP 协议的传输方式完全是由明文传输的,不做任何加密,这就让一些不怀好意的人有了可乘之机。 这种传输方式诱发了一种经典的攻击方式:中间人攻击。 ...

June 7, 2020 · 1 min · jiezi

win8系统ie浏览器打开mht格式方法

win8系统和win10系统都有自带的ie浏览器,虽然绝大多数人都觉的自身带的浏览器不是很好用,但是还有少部分人在使用,最近有用户发现,用电脑自带的浏览器打不开.mht格式的文件,接下来就带领大家一起去学习如何打开.mht文件。 win8系统ie浏览器打开.mht格式方法: 1、打开浏览器,在右上角找到设置,打开设置,在下拉菜单中选择【Internet选项】。 2、在Internet选项界面点击程序选项卡,点击下方的【设置关联】。 3、选中.mht前面的复选框,点击确定即可。

May 30, 2020 · 1 min · jiezi

Win10专业版自带数字输入面板在哪Win10自带数字输入面板打开方法

一些教育科研工作者在使用Win10专业版的时候会需要用到数学公式,但是输入法中无法正常输写,就会去寻找第三方软件进行协助。但是在Win10专业版中是有自带数学公式面板的,无需这么麻烦,那么要如何打开它呢?下面就教大家Win10专业版自带数字输入面板的打开方法。 方法一: 1、鼠标左键点击开始按钮,打开开始菜单; 2、点击最下边的“所有应用”。 3、在所有应用中找到Windows附件,点击一下,在其里面便可看到“数学输入面板”。 4、点击“数学输入面板”进入输入界面。 方法二: 1、Win+R快捷键打开运行框。 2、在运行命令输入框或者搜索框中输入“mip”后回车,即可打开数学输入面板。 方法三: 1、打开小娜(搜索框); 2、输入Math Input Panel,再点击打开即可。

May 29, 2020 · 1 min · jiezi

大话2019前端面试题总结1期不要再问我http了

一、经典http面试题大纲1.什么是HTTP协议?★☆2.Web客户端是什么?☆3.Web服务端是什么?☆4.什么是资源?★5.MIME类型是什么?★☆6.什么是URI?★7.什么是URL?★8.什么是URN?★9.常见的HTTP方法有哪些?★☆10.常见的状态码200,206,302,304,404,501的含义?★★☆11.什么是报文?★★☆12.HTTP协议栈是怎么样的?★★★13.什么是DNS?★14.什么是端口号?★15.在浏览器地址栏输入一个HTTP的URL地址,按下回车键之后,浏览器怎么通过HTTP显示位于远端服务器中的某个简单HTML资源?★★★☆16.什么是代理?★☆17.什么是缓存?★☆18.什么是网关?★☆19.什么是隧道?★☆20.什么是Agent代理?★☆ 二、http面试题详解1.什么是HTTP协议?★☆HTTP:超文本传输协议。使用的是可靠的数据传输协议,在传输的过程中不会被损坏或产生混乱。HTTP可以从遍布全世界的Web服务器商将各种信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。 2.Web客户端是什么?☆Web客户端常见的又各大厂商的浏览器,比如微软的IE浏览器,google的chrome浏览器。 3.Web服务端是什么?☆Web服务器存储Web类容。Web服务器使用HTTP协议,被称为HTTP服务器。客户端向服务器发送HTTP请求,服务器会在HTTP响应中回送所请求的数据。 4.什么是资源?★Web资源寄宿在Web服务器上。所有能够提供Web内容的东西都是Web资源。比如静态文件,能够动态生成内容的软件程序。 5.MIME类型是什么?★☆MIME:多用途因特网邮件扩展。最初设计MIME是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。HTTP采纳了它,用来描述并标记多媒体内容。MIME类型时一种文本标记,标识一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。如text/html,text/plain,image/ipeg。常见的MIME类型有数百个。 6.什么是URI?★URI:统一资源标识符,在世界范围内唯一标识并定位信息资源。URI有两种形式:URL和URN。 7.什么是URL?★URL:统一资源定位符。URL描述了一台特定服务器上某资源的特定位置。URL的第一部分被称为方案(scheme)。说明了访问资源所使用的协议类型。这里使用的时HTTP协议(http://)。第二部分表示服务器的因特网地址:www.cnblogs.com。其余部分指定了Web服务器上的某个资源:/jackson0714/p/algorithm_1.html。几乎所有的URLI都是URL。 8.什么是URN?★URN:统一资源名,URN是作为特定内容的唯一名称使用的,与目前的资源所在地无关。 9.常见的HTTP方法有哪些?★☆GET :从服务器向客户端发送命名资源POST: 将客户端数据发送到一个服务器网关应用程序PUT: 将来自客户端的数据存储到一个命名的服务器资源中去DELETE: 从服务器中删除命名资源HEAD: 仅发送命名资源响应中的HTTP首部  10.常见的状态码200,206,302,304,404,503的含义?★★☆   11.什么是报文?★★☆HTTP报文是由一行一行的简单的字符串组成的。HTTP报文都是纯文本,不是二进制代码。 请求报文:从Web客户端发往Web服务器的HTTP报文称为请求报文。响应报文:从Web服务器发往客户端的报文称为响应报文。 HTTP报文包含以下三个部分:起始行:报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。如:GET /jackson0714/p/algorithm_1.html HTTP/1.1首部字段:起始行后面由零个或多个首部字段。以键值对的形式表示首部字段。键和值之间用冒号分隔。首部以一个空行结束。如Content-Type:text/html:charset=utf-8主体:首部字段空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括了要发送Web服务器的数据,响应主体中装载了要返回给客户端的数据。 12.HTTP协议栈是怎么样的?★★★HTTP是应用层协议。它把联网的细节都交给了通用、可靠的因特网传输协议TCPIP协议。HTTP网络协议栈: TCP协议: a.传输控制协议 b.无差错的数据传输 c.按序传输(数据总是会按照发送的顺序到达) d.未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去) 13.什么是DNS?★域名解析服务。将主机名转换为IP地址。如将http://www.cnblogs.com/ 主机名转换为IP地址:211.137.51.78。 14.什么是端口号?★http://www.cnblogs.com:8080就是端口号。HTTP的URL中没有端口号时,可以假设默认端口号时80。有了IP地址和端口号,客户端就可以很方便地通过TCP/IP进行通信了。 15.在浏览器地址栏输入一个HTTP的URL地址,按下回车键之后,浏览器怎么通过HTTP显示位于远端服务器中的某个简单HTML资源?★★★☆(1)浏览器从URL中解析出服务器的主机名;(2)浏览器将服务器的主机名转换成服务器的IP地址;(3)浏览器将端口号(如果有的话),从URL中解析出来;(4)浏览器建立一条与Web服务器的TCP连接;(5)浏览器向服务器发送一条HTTP请求报文;(6)服务器向浏览器回送一条HTTP响应报文;(7)关闭连接,浏览器显示文档。 16.什么是代理?★☆代理是位于客户端和服务器之间的HTTP中间实体。接收所有客户端的HTTP请求,并将这些请求转发给服务器(可能会对请求进行修改之后转发)。 17.什么是缓存?★☆缓存HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方。 18.什么是网关?★☆网关是一种特殊的服务器,作为其他服务器的中间实体使用。通常用于将HTTP流量转换成其他的协议。 19.什么是隧道?★☆隧道是建立起来之后,就会在两条连接之间对原始数据进行盲转发的HTTP应用程序。常见用途是通过HTTP连接承载加密的安全套接字层(SSL)流量,这样SSL流量就可以穿过只允许Web流量通过的防火墙了。 20.什么是Agent代理?★☆用户Agent代理是代表用户发起HTTP的客户端程序。比如Web浏览器。另外有些自动发送HTTP请求并获取内容的代理,比如“网络蜘蛛”或者“Web机器人”。 如果你觉得这篇文章对你有所帮助,那就顺便点个赞吧,点赞收藏不迷路~ 黑芝麻哇,白芝麻发,黑芝麻白芝麻哇发哈! 前端哇发哈

August 19, 2019 · 1 min · jiezi

HTTP2更快的页面加载时间

作者:Alex Ronin翻译:疯狂的技术宅 原文:https://frontnet.eu/http-2-fa... 未经允许严禁转载 也许人们已经听说过 HTTP2,有很多数大公司都使用HTTP2,如Google、Youtube、Facebook ...... 那么什么是HTTP2?我们现在就知道了。 HTTP 的历史 HTTP 又称超文本传输协议,就是你的浏览器与你正在访问的网站的 Web 服务器通信的方式。 两台(或多台)计算机通过 Internet 相互通信的方式有很多种,HTTP 只是用于 Web 浏览的一种方式。 第一个官方 HTTP 版本(HTTP 1.0)于1996年作为RFC1945发布。 随着 Web 的快速发展,有了更多的 css,js 组件,这意味着我们需要更多资源,在某些情况下还需要同时下载多个资源。在使用时会发生什么 1 connection / 1 resourcesHTTP 1.0 的机制无法实现带宽优化。 在 1999 年发布的版本 HTTP/1.1 解决了流水线概念这个问题。然后 HTTP/1.1 版本继续更新并使用到现在为止。 虽然有所改进,但是流水线并没有完全解决 HTTP/1.0 的问题。虽然人们觉得“还不错!”,Google 的人们觉得“不行!”,所以他们发布了一个名为 SPDY 的新协议来改善页面加载时间。 。 SPDY 通过压缩,多路复用和优先级排序技术实现了减少页面加载时间的目标。 2012年7月,SPDY 开发团队公开宣布它正朝着标准化方向发展。 Chromium、Mozilla Firefox、Opera、Amazon Silk、Internet Explorer 和 Safari 浏览器也实现了 SPDY。 部署 SPDY 后,与 HTTP/1.x 相比,它显示出显著的改进,并引起了 Firefox 和 nginx 等开发人员的兴趣。不久之后开发人员开始讨论 HTTP/2。在调用过程和提案选择完成之后,SPDY/2 作为 HTTP/2 的基础。从那时起,根据工作组的讨论和实施者的反馈,发生了一些变化。截至2015年5月,HTTP/2 规范发布(RFC 7540)。 ...

August 19, 2019 · 1 min · jiezi

https的那些事

之前看了一些网上关于https的文章,感觉都讲的不够完善,整篇看下来还是觉得有几个疑问点,最近学习了极客时间《透视HTTP协议》,稍微能摸清楚https的工作,写一写加强印象。 什么是安全通常认为,通信过程具备了以下4个特性,可以认为安全:机密性,完整性,身份认证,不可否认。 机密性 指数据保密的,只有通信的对方能知道数据的内容,数据对其他方是不可见的完整性 机密性虽然保证了数据不可被窃取,但是不能防止被篡改,如果通信过程数据直接被调包或者被修改,那么也是不安全的身份验证 指能确认对方的身份,保证“我”在和“你”在通信而不是“他”,没有身份验证,通信的是“他”,那么再怎么机密的数据也是白搭不可否认 “我”通过只有“你”知道的事情回应“你”,那么“你”就是正确的“你”什么是HTTPSHTTPS是运行在SSL/TLS上的HTTP,只要弄懂了SSL/TSL就弄懂了HTTPS,而SSL/TLS是在OSI模型中处于第5层会话层中,目前运用最广泛的TLS是v1.2版本,最新的v1.3兼容了v1.2,且强大了很多。TLS由记录协议,握手协议,警告协议,变更密码协议,扩展协议等几个子协议组成,综合使用了对称加密,非对称加密,身份验证等多个前沿密码学技术。 加密对称加密安全的第1个特性是机密性,那么实现机密性最常用的手段就是对数据进行“加密”,把数据通过某种形式转化为谁都看不懂的乱码,只有特定的“钥匙”的人才能解密数据。加密可以分为两大类:对称加密和非对称加密。 对称加密的加密和解密的密钥都是同一个,所以是“对称”的,只要保证了密钥只有通信双方持有,那么整个通信过程就具有了机密性。目前最常用的对称加密算法是AES(advanced encryption standard),安全强度高,性能也很好,所以最流行。 分组模式对称加密还有个分组模式的概念,他可以让加密算法用固定长度的密钥加密任意长度的明文,即小秘密转化为大秘密,将明文按照一定的规则切分,然后分别对明文片段进行加密,再整合成一起。现在最常见的分组模式是GCM/CCM/Poly1305, 非对称加密对称加密最大的问题就是如何让通信两方都知道一个密钥,总不能为了传输这个密钥再用另一个密钥进行加密吧,那就是“鸡生蛋,蛋生鸡”的问题没完没了了。所以非对称加密就出来了。它有两个密钥,一个是“公钥”,一个是“私钥”,两个密钥不同,所以“不对称”,私钥必须严格保密,公钥可以公开给任何人使用。这里有个特别的“单向性”,公钥加密的数据只可以用私钥解密,反之私钥加密的数据只可以用公钥解密,常见算法有RSA/ECC。 RSA在TLS1.2版本里最常用的非对称加密算法,由于不具有“向前安全”,所以在1.3版本中被弃用了。 ECC是非对称加密算法的后起之秀,他基于“椭圆曲线离散对数”的数学难题,用特定的曲线方程和基点生成一个公钥和一个私钥。子算法ECDHE用于密钥交换,ECDSA用于数字签名。 混合加密为什么TLS不直接使用非对称加密呢 因为非对称加密和解密的过程比对称加密慢太多,导致在通信的过程当中需要非常长的时间,通信龟速,实用性为0,RSA2048的加解密大约是15KB/s,而AES128则是13MB/s,相差了差不多一千倍。由于公钥是公开的,那么客户端的数据被窃取修改,第三方一样可以用公钥加密篡改后的数据,所以要用非对称加密进行通信,客户端需要验证服务端的身份的同时,服务端也需要验证客户端的身份,这是不现实的,要海量的客户端的身份谈何容易。所以TLS只是用非对称加密算法让双方获得一个对称加密算法的密钥,后续的通信使用该密钥进行。 数字签名和证书虽然有了机密性,但是离安全还差很远黑客虽然拿不到密钥,但是可以通过窃听收集足够多的密文,尝试修改/重组后发给服务器,因为没有完整性检查,服务器正常返回,黑客可以通过服务器的响应获取进一步线索,最终破解密钥。另外,黑客也可以伪造公钥发布,如果客户端拿到了假的公钥匙,那么再怎么加密都没有用了,被黑客直接拦截,直接裸奔。。 摘要实现完整性的手段主要是摘要算法,摘要意思就是原文的总结,概括,一个原文通过一种摘要算法只有一个摘要,所以摘要可以认为是原文的“指纹”,MD5和SHA-1是之前常见的摘要算法,但是由于安全性不足,被弃用了,现在常用的是SHA-2。 数字签名现实生活中解决身份认证的常见的有盖章,签名。同样的,在通信中要想实现身份认证,首先得有个唯一的东西只要你拥有——那就是非对称加密中的私钥。使用私钥加密摘要,就能够实现数字签名,实现了身份认证的同时也实现了不可否认。 数字证书和CA综合上述,我们已经实现了安全的4大特性,是不是ok了?不是。这样还有公钥的信任,因为谁都可以发布公钥,我们怎么证明这个公钥就是通信对方的公钥呢?只能引入“可信的第三方”,这个第三方就是我们常说的CA,由他来给各个公钥签名,用自身的信誉做担保,构建起公钥的信任链。CA对公钥的签名认证也是由一定格式的,包括序列号,用途,颁发者,有效时间,公钥等等,再打一个包再签名,形成一个数字证书。 HTTPS建立连接图上的每一个直线代表的是一个记录协议,多个记录协议会在一个tcp包中一同送出。 ECDHE握手过程在tcp建立连接后,浏览器会先发一个client hello,包含由TLS支持的版本号,支持的密码套件,还有一个随机数client random,用于后续生成会话密钥。服务端收到后,会返回一个server hello,包含确定TLS版本号,选取其中一组密码套件,比如TLS_ECHDHE_RSA_WITH_AES256_GCM_SHA384,意思是非对称加密算法选取ECHDHE+RSA,对称加密算法AES256,分组模式GCM,摘要加密算法SHA384,还有一个随机数server random,这个同样用于后续生成会话密钥。然后,服务器发送证书,由于服务器选择的是椭圆曲线ECHDHE的加密算法,所以又发送来一个server key exchanges,里面是椭圆曲线的公钥server params,再加上自己的私钥签名,防止server params被篡改。客户端拿到了服务端的响应,这时开始验证服务端发送过来的证书是否可信,开始走证书链逐级验证:证书是被CA签名了的,所以此时根据该证书的颁发者,拿到颁发者的公钥,解密出摘要,再根据摘要算法对证书内容进行摘要计算,如果计算结果跟证书上的摘要一致,则验证了完整性和不可否认。如果该颁发者不是1级CA,那么需要验证该颁发者的身份,根据上述同样的操作验证颁发者的证书,直到根级证书。如果在此过程都验证正确,那么该颁发者可信,从而该服务器的证书可信,达到身份验证。验证完成后,客户端根据服务器证书上的公钥,解密出server key exchange的摘要,确认无误后,得到了server params。然后客户端按照密码套件,也生成了一个椭圆曲线的公钥(client params)和私钥,用client key exchange发送client params给服务端。现在两方都有椭圆曲线自己的私钥和对方的公钥,生成一个叫做pre-master的随机数,神奇的算法让双发生成的随机数是一致的,由于私钥并没有在通信中公开,所以pre-master也没有在通信中公开,所以这个随机数在本次通信中只要双发知道。双方根据client random , server random, pre-master三个随机数计算得到master secret,这个就是用于后面通信的对称密钥。客户端发送一个change cipher spec和finished。再将之前发送的所有数据做个摘要,再用密钥加密一下,让服务器验证一下。 这里客户端可以马上进行https的通信,就是抢跑,无需等待服务器的回应,因为双方都已经在之前的握手中确定可以知道主密钥了。减少0.5个rtt。服务器验证完成后,发送一个change cipher spec和finished,之后的通信就开始密文交流。RSA握手过程大体流程跟上述一致,只是pre-master不再通过算法生成,而是客户端直接生成随机数,然后用服务器的公钥加密,通过发送一个client key exchange发送给服务器,那此时双方也实现了共享3个随机参数。

August 7, 2019 · 1 min · jiezi

SSL证书申请一年多少钱

SSL证书是数字证书的一种,由受信任的CA证书颁发机构颁发,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。通常被用来对网站进行加密,防护网站的信息安全,防止劫持和钓鱼网站,有利于提高网站的排名和企业形象。大家在选择SSL证书的时候,最关心的一个问题就是价格问题了。SSL证书的价格取决于证书的类型和品牌。通常SSL证书有三种类型:DV型SSL证书:这种证书只是显示一个绿色小锁,信任等级一般,但是签发快,无需提交任何资料,只需要验证域名即可。适用于中小型企业网站、个人网站等。OV型SSL证书:这种证书会在证书中看到申请证书的公司名称,信任级别更高,但是审核比较严格,需要递交公司证明的材料以及纸质的验证文件。适用于企业网站、金融机构或是电子商务网站。EV型SSL证书:这种证书信任等级最高,在地址栏中便显示了公司的名称和证书颁发机构的全称,地址栏会是绿色的。但是这种证书需要通过极其严格的审查来验证网站企业身份和域名管理权,来确保网站身份的真实性。与前两种SSL证书类型相比,EV SSL具有极高的可信度以及安全性。适用于大型的企业,证券、金融平台,政府机构的站点等。SSL证书在选择的时候,最好选择由受信任的权威的证书颁发机构颁发的证书。合信SSL与Symantec、GeoTrust、COMODO等证书颁发机构合作,提供SSL证书一站式服务,覆盖所有类型 SSL 证书,为网站、移动应用提供安全可靠 HTTPS 解决方案,最大限度简化了 SSL 证书申购的流程。

July 15, 2019 · 1 min · jiezi

百度分享不支持HTTPS的解决办法

这两天接入文章页百度分享时发现本地可以显示分享按钮,但是发布到线上之后发现分享按钮不会展示。打开浏览器调试工具发现,HTTPS下的百度分享资源未加载,起初以为是HTTPS站点下面使用的是HTTP协议的链接,但是查看源代码发现是自适应协议的, 所以问题应该是处在百度这里。 打开https://bdimg.share.baidu.com/static/api/js/share.js发现浏览器提示NET::ERR_CERT_COMMON_NAME_INVALID,也就是访问的域名和证书配置的域名不匹配,证书的域名是*.baidu.com,访问的域名是bdimg.share.baidu.com,泛域名是不可以跨级使用的。 虽然是百度的问题,但是咱也不可能要他去改这个分享,所以只能自己来处理了。 可能的处理方案全站使用HTTP,放弃该方案(现在都9012年了,免费证书一大把,基本都是HTTPS站点了)将百度分享的资源打包下来进行部署 部署到自己的服务器(成本低,易迁移,但是服务器带宽是个问题)部署到CDN,本文以七牛为例资源路径百度分享相关JS我已经分享到github了,一键直达仓库 处理过程将百度分享的资源解压到本地使用PHP遍历目录上传到七牛(本文用的SPL进行文件夹遍历)替换使用的百度分享JS路径使用PHP变量目录上传到七牛文件目录如下: |--static(百度分享资源目录)|--DirectorySync.php|--FilterScanner.php|--index.phpDirectorySync.php /** * 目录同步器 * Class DirectorySync * @package sync * @author xialeistudio * @date 2019-07-11 */class DirectorySync{ private $accessKey; private $secretKey; private $bucket; /** * @var Auth */ private $auth; /** * DirectorySync constructor. * @param $accessKey * @param $secretKey * @param $bucket */ public function __construct($accessKey, $secretKey, $bucket) { $this->accessKey = $accessKey; $this->secretKey = $secretKey; $this->bucket = $bucket; $this->auth = new Auth($accessKey, $secretKey); } /** * 同步目录 * ```php * [ * '目录名称' => '七牛keyPrefix' * ] * ``` * @param array $list * @throws \Exception * @author xialeistudio * @date 2019-07-11 */ public function sync(array $list) { $uploader = new UploadManager(); $token = $this->auth->uploadToken($this->bucket); foreach ($list as $path => $keyPrefix) { $scanner = new FilterScanner($path); foreach ($scanner as $filename) { printf("uploading %s \n", $filename); /** @var Error $error */ list($ret, $error) = $uploader->putFile($token, $keyPrefix . $filename, $filename); if (!empty($error)) { printf("uploading %s error: %s\n", $filename, $error->message()); } } } }}FilterScanner.php ...

July 12, 2019 · 2 min · jiezi

个人DVSSL与企业OVSSL的区别

网站的加密需要安装SSL证书,部署了SSL证书后,可以防止网站信息被劫持、窃取和篡改,防止钓鱼网站,有利于网站的排名和SEO优化。SSL证书有三种类型的:1、个人型DVSSL个人型的ssl证书的安全等级是最低的,申请的时候只需要提供域名即可,一般10-30分钟就可下证书,签发快,申请简单,一般适用于个人网站,小型企业等。2、企业型OVSSL企业型的SSL证书安全等级比较高,申请的时候需要递交企业信息,审核比较严格,一般3-5天下证书,做好后可以在证书里看到企业的名称。适合于企业网站、电子商务网站、证券、金融机构。3、企业增强型EVSSL该证书安全等级是最高的,申请需要递交企业信息,审核严格,一般5-7天下证书,做好后可以直接在地址栏看到企业名称。适合于银行、保险、金融机构、电子商务网站、大型企业

July 11, 2019 · 1 min · jiezi

https多少钱一年

网络安全是大家都很重视的一个问题,为了确保自己网站的信息安全,安装SSL证书进行https加密是必不可少的。SSL证书能够保障我们的网站的数据在传输的过程得到加密,防止被劫持、篡改,防止钓鱼网站,有利于网站的排名和SEO优化。此外,大家关心的另一个问题就是SSL证书的价格问题了。ssl数字证书的费用一般与证书的安全等级、域名数量以及证书的品牌有关。一、ssl证书的类型1、域名型DVSSL证书DVSSL价格通常在300-2000左右,信任等级一般,只需验证网站的真实性便可颁发证书保护网站,只显示绿色小锁+https,证书里只能看到被保护的域名。快速签发适合个人开发者、个人网站。2、企业型OVSSL证书OVSSL证书价格一般在2000-4000左右,信任等级强须要验证企业的身份,审核严格,地址栏显示https+绿色小锁,可以在证书里看到企业名称。3-5个工作日签发适合电商、网店、企业官网。3、企业增强型EVSSL证书EVSSL证书价格一般在4000-30000左右,信任等级最高须要验证企业的身份,审核严格,安全性最高,地址栏显示https+绿色小锁+企业名称,3-5个工作日签发,一般用于银行证券金融等机构的服务器。 二、域名的数量单域名:一个证书保护一个域名,价格根据证书的类型来决定多域名证书:一个证书可以保护多个域名,价格根据证书的类型来决定通配符证书:保护一个域名及其下的所有子级域名,价格根据证书的类型来决定 三、证书的品牌SSL证书比较知名的有Symantec、COMODO、Geotrust及RapidSSL等权威的证书颁发机构。合信SSL证书和这些机构合作,提供一站式证书服务,全程专业技术指导。

July 9, 2019 · 1 min · jiezi

网络之HTTPHTTPS

前言大学老师曾经说过,计算机界有三本天书,分别是:数据结构、计算机组成原理、计算机网络。所以网络也是我们从事计算机开发必须了解且掌握的一门技术 网络七层模型应用层 访问网络服务的端口,如HTTP传输 ‘hello,world’表示层 提供数据格式转换会话层 建立端连接并提供访问验证 如SSL/TLS认证传输层 UDP/TCP + ‘hello,world’网络层 IP + UDP/TCP + ‘hello,world’数据链路层 MAC地址 + IP + UDP/TCP + ‘hello,world’ + 帧尾物理层 传输二进制 01010101001HTTP请求/相应报文 **请求报文包括:** 请求方法 URL 协议版本HTTP1.0 首部字段名 请求体 (POST请求) **响应报文包括:** 版本 状态码 短语 首部字段名 响应实体请求方法GET: 代表获取资源 特点: 安全:不应该引起Server端的任何状态变化 幂等:请求多次的结果一样 可缓存:代理服务器可以缓存POST: 代表处理资源 特点: 不安全 不幂等 不可缓存HEADOPTIONPUT 状态码200: 请求成功300: 请求重定向400: 由于客户端请求地址和参数引用的失败500: 服务端原因 连接接建立流程TCP: 三次握手、四次挥手HTTP特点无连接: 每次请求都需要建立TCP连接无状态 ...

July 8, 2019 · 1 min · jiezi

HTTPS的加密方式

一、概述1.1大致目的进一步了解HTTP和HTTPS了解对称加密和非对称加密的工作方式对HTTPS的加密有一个大概的了解对证书有一个初步的了解1.2加密方式在学习HTTPS加密方式之前,有必要了解几种常见的加密方式,如: 对称加密非对称加密二、对称加密2.1定义需要对加密和解密使用相同密钥的加密算法。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。注意:对称加密也叫密钥加密 2.2密钥的形式采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 2.3优缺点优点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。缺点:对称加密,密钥管理的安全性很低,因为加密和解密都使用同一个密钥,在密钥的发送过程中,密钥可能被第三方截取,导致第三方也可以破解密文。 2.4具体实现在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。 2.5图解我们以客户端发送请求给服务器为例:对称加密在第一部和第二部上均可被第三者拦截(实时是第二步一般均可以被拦截,但是能否解密还是要看第一步是否把密钥拦截下来)因为,对称加密的解密钥匙和加密钥匙均是同一把。 三、非对称加密3.1定义非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 3.2密钥的形式公钥与私钥是一对。传输双方均有自己的一对密钥(也就是双方每方均有:公、私密钥一把,双方加起来共4把) 例子:传输双方比如是甲乙双方,甲方有配对的公、私密钥一对,且公钥负责加密,私钥负责解对应的公钥加的密。乙方同理。 3.3优缺点非对称密钥的算法强度复杂(是优点也是缺点),安全性依赖于算法与密钥。优点:安全性较高,比对称密钥安全性高很多。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。缺点:由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。 3.4具体实现1.客户端要向服务器发送信息,客户端和服务器都要产生一对用于加密和解密的公钥和私钥。2.客户端的私钥保密,客户端的公钥告诉服务器;服务器的私钥保密,服务器的公钥告诉客户端。3.客户端要给服务器发送信息时,客户端用服务器的公钥加密信息,因为服务器的公钥是公开的,客户端可以得到。4.客户端将这个消息发给服务器(已经用服务器的公钥加密消息)。5.服务器收到这个消息后,服务器用自己的私钥解密客户端的消息。其他所有收到这个报文的人都无法解密,因为只有服务器才有服务器的私钥。 3.5图解 四、HTTPS采用的加密HTTPS采用的是处理信息的方式是:结合对称加密+非对称加密这两种方式,我们可以用非对称加密的方式来传输对称加密过程中的密钥,之后我们就可以采取对称加密的方式来传输数据了。具体是这样子的: 服务器用明文的方式给客户端发送自己的公钥,客户端收到公钥之后,会生成一把密钥(对称加密用的),然后用服务器的公钥对这把密钥进行加密,之后再把密钥传输给服务器,服务器收到之后进行解密,最后服务器就可以安全得到这把密钥了,而客户端也有同样一把密钥,他们就可以进行对称加密了。 五、证书5.1非对称加密的不足事实上,在没有引入证书之前,非对称加密也并非传输安全的,在此举个例子: 服务器以明文的方式给客户端传输公钥的时候,中间人截取了这把属于服务器的公钥,并且把中间人自己的公钥冒充服务器的公钥传输给了客户端。 之后客户端就会用中间人的公钥来加密自己生成的密钥。然后把被加密的密钥传输给服务器,这个时候中间人又把密钥给截取了,中间人用自己的私钥对这把被加密的密钥进行解密,解密后中间人就可以获得这把密钥了。 最后中间人再对这把密钥用刚才服务器的公钥进行加密,再发给服务器。 毫无疑问,在这个过程中,中间人获取了对称加密中的密钥,在之后服务器和客户端的对称加密传输中,这些加密的数据对中间人来说,和明文没啥区别。 5.2证书的引入非对称性加密之所以不安全,是应为客户端不知道,这把公钥是不是服务器的。因此,我们需要找到一种策略来证明这把公钥就是服务器的,而不是别人冒充的。解决这个问题的方式就是使用数字证书,具体是这样的: 1、我们需要找到一个第三方机构,它是一个拥有公信力、大家都认可的认证中心,那就是数字证书认证机构(简称CA)。2、服务器在给客户端传输公钥的过程中,会把公钥以及服务器的个人信息通过Hash算法生成信息摘要。为了防止信息摘要被人调换,客户端还会用CA提供的私钥对信息摘要进行加密来形成数字签名。并且,最后还会把原来没Hash算法之前的个人信息以及公钥和数字签名合并在一起,形成数字证书。3、当客户端拿到这份数字证书之后,就会用CA提供的公钥来对数字证书里面的数字签名进行解密来得到信息摘要,然后对数字证书里服务器的公钥以及个人信息进行Hash得到另外一份信息摘要。最后把两份信息摘要进行对比,如果一样,则证明这个人是服务器,否则就不是。这样,就可以保证服务器的公钥安全着交给客户端了。 5.3浏览器内置常用证书一个重要的问题是,如何安全转交认证机构的公钥是一件很困难的事,因此,大多数浏览器开发商发布版本时,会事先植入常用认证机关的公钥。我们可以Google Chrome为例:打开浏览器的设置选项,选择高级,可以看到隐私设置和安全性下面的一些设置,其中管理证书就可以看到谷歌浏览器一些内置证书,如图: 5.4图解下图选自图解HTTP: 5.5分析实例我们分析下下面的三种情况 1、网站是http协议的:可以看到是不安全的。2、 网站是完全的HTTPS加密的:可以看到Google网站的HTTPS前面是有一把小锁的,这表示,这个网站的连接是安全的,并且点击小锁可以看到证书信息。3、 网站前带HTTPS但是不是完全安全的:注意第三点和第一点的表达:连接不安全和连接并非完全安全这是因为:站点还有http资源,需要把所有链接换成https才可以带锁。 参考资料 :图解HTTP百度百科http加密那点事

July 7, 2019 · 1 min · jiezi

申请https证书都需要哪些材料

其实很多细心的网友可能会发现,我们平时浏览的网站几乎都是https开头的,但是又好像有极少数是以http开头的,这是怎么回事呢?这涉及到了https证书申请。为网站申请部署一份https证书,前缀就会有原来的http转化为https。 在进行https证书申请之后,网站的安全性能会大大地提升,https证书能够很好地保护访问客人的数据信息,为网站树立一个安全可信的形象。那么https证书申请需要什么材料呢? https证书申请需要什么材料?这与申请的https证书类型有关。https根据安全等级由低到高可以分为域名型证书、企业型证书和增强型证书。域名型https证书是安全等级比较低的数字证书,所以申请这一类型的数字证书时所需要的材料也比较简单。申请域名型https证书只需要由专门的CA机构验证域名的所有权即可,因此申请域名型https证书所需要的时间也是最短的,因为它的验证过程相对更简单一些。 企业型https证书作为安全等级比域名型高一些的数字证书,它在申请的过程中,除了需要CA机构验证该域名的所有权之外,还需要企业或是机构向CA机构递交企业单位的纸质验证文件,因此企业型证书的验证过程相对会复杂一些。 最后就是安全等级最高的增强型https证书,这一类证书一般适用于大型企业或是政府机构,申请时所需要的文件与企业型证书相同,不同的是它拥有更复杂严密的验证过程,只有经过很严格的考察才可以发行数字证书。因此申请增强型证书所需的时间也是最长的、过程也是最复杂的,比较麻烦,但是如果你找了个专业的证书服务商,比如安信SSL,拥有专业的团队,一切都可以交给他们,省心又靠谱。

July 5, 2019 · 1 min · jiezi

windows-charles-https-抓包

charles下载地址 https://www.charlesproxy.com/... 导入证书点击 help->ssl proxying -> install charles root certificate enable ssl proxying右键mp.weixin.qq.com域名,选择enable ssl proxying 在 proxy->ssl proxying settings可以看到,也可以手动添加 点击“Add”按钮,在弹出框的 “Host” 和 “Port” 都输入“*”,最后点击OK,根据提示,这样配置可以抓取所有的https包 抓包没安装证书前抓公众号文章 安装后 可以看到请求地址 手机上安装证书Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser 手机上打开 chls.pro/ssl 下载证书 参考https://zhile.io/http://ciika.com/2018/07/wind... 教你获取公众号全部文章Charles破解与抓包教程Charles 从入门到精通使用Charles抓包Charles 手机抓包记录Charles抓包之HTTPS抓包配置

July 3, 2019 · 1 min · jiezi

SSL证书申请一年得多少钱

SSL证书可以用来对网站进行加密,防止网站被劫持、窃取和篡改,防止钓鱼网站,同时能够提升网站的企业形象,有利于网站的排名和SEO优化。但是大家在申请购买SSL证书的时候,最关心的一个问题就是SSL证书的价格了。SSL证书的价格一般取决于证书的品牌、域名的数量和证书的类型。一、SSL证书的类型1、域名型DVSSL证书DV型SSL证书签发快,无需递交任何审核资料,只需提供一个域名即可,一般10-30分钟下证书。但是这种证书安全性是最低的,一般适用于个人网站、小型企业。价格一般在300-2000左右。2、企业型OVSSL证书企业型证书审核比较严格,需要递交公司证明的材料以及纸质的验证文件。该证书会在证书中看到申请证书的公司名称。一般3-5个工作日下证书。价格在2000-6000左右。适用于企业网站、金融机构或是电子商务网站3、企业增强型EVSSL证书这种证书安全性最高,随时OVSSL证书的升级版本。在地址栏中就可以看到公司的名称和证书颁发机构的全称,地址栏会是绿色的。适用于大型的企业,证券、金融平台,政府机构的站点等。价格一般在4000-30000左右。二、域名的数量1、单域名证书,参考上面的最低价2、多域名证书看你做几条域名、3、通配符证书,参考上面的最高价三、证书的品牌SSL证书的品牌不一样,价格也是不一样的,具体的价格,可根据用户自己的需求来确定。合信SSL提供SSL证书:Symantec、Geotrust、Comodo以及RapidSSL等多家全球权威CA机构的SSL数字证书。一站式申请安装服务,免手续费,全程专业技术指导。

July 3, 2019 · 1 min · jiezi

SSL证书如何选择

SSL证书是一种有CA机构颁发的数字证书,能够对网站信息进行https加密,防止网站被别人劫持、篡改,可以有效的防护自己的网站安全,增加用户的安全感。部署了SSL证书之后,访问地址会由“http”明文访问,变成了“https”加密访问,显示醒目安全锁,点击安全锁,可查看网站认证的详细信息。使用最高级别的EVSSL证书,浏览器显示绿色地址栏,单位名称及颁发机构在地址栏上交替显示。过去的一年,全球包括Google、FireFox等各大主流浏览器都在推动站点加密。SSL证书在国内呈现出爆发式增长,无论企业网站还是个人站点都在积极申请SSL证书。网站到底该如何选择合适的SSL证书呢?一、确定SSL证书的类型1、域名型DVSSL证书这种证书只是会显示一个绿色小锁标识,安全性一般,但是这种证书签发快,无需递交任何资料,只要验证域名即可。一般30分钟左右就能签好2、企业型OVSSL证书该证书会在证书中看到申请证书的公司名称,地址栏也只是会看到绿色小锁。信任级别更高,但是审核比较严格,需要递交公司证明的材料以及纸质的验证文件。一般在3-5个工作日下证书 https + 小锁标志3、增强型EVSSL证书此证书是三种证书中,安全级别最高的,直接在地址栏便显示了公司的名称和证书颁发机构的全称,地址栏是绿色的。一般在5-7个工作日下证书 https 小锁标志 + 绿色地址栏 + 使用者公司名字直显在浏览器地址栏二、确定要证书的域名的数量1、保护1个网站域名,选择单域名SSL证书即可;2、保护没有直接联系的多个域名,选择多域名SSL证书;3、保护一个主域名及其子域名,则可选择多域名SSL证书或通配符证书。三、最后确定证书的品牌SSL证书的设计初衷,就是由国际顶尖的CA安全机构来做颁发, Symantec、GeoTrust、comodo、digicert等机构进行颁发。所以大家在选择SSL证书的时候最好选择权威的受信任的证书机构颁发的证书。合信SSL证书申请一站式服务,为网站、移动应用提供安全可靠HTTPS解决方案,最大限度简化了SSL证书申购的流程。

July 1, 2019 · 1 min · jiezi

如何选择SSL证书

SSL证书是数字证书的一种,由受信任的CA证书颁发机构颁发,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。通常被用来对网站进行加密,防护网站的信息安全,防止劫持和钓鱼网站,有利于提高网站的排名和企业形象。大家在选择SSL证书的时候,往往会面临一个问题,那就是选择什么样的SSL证书好。下面就给大家介绍下SSL证书该如何去选择。一、SSL证书选择什么类型的1、DV型SSL证书:这种证书只是显示一个绿色小锁,信任等级一般,但是签发快,10分钟左右就可完成域名验证和快速颁发证书无需提交任何资料,只需要验证域名即可。适用于中小型企业网站、个人网站等。2、OV型SSL证书:这种证书会在证书中看到申请证书的公司名称,信任级别更高,但是审核比较严格,需要递交公司证明的材料以及纸质的验证文件。适用于企业网站、金融机构或是电子商务网站。一般OV 证书在 3至 5 个工作日内签发。3、EV型SSL证书:这种证书信任等级最高,在地址栏中便显示了公司的名称和证书颁发机构的全称,地址栏会是绿色的。但是这种证书需要通过极其严格的审查来验证网站企业身份和域名管理权,来确保网站身份的真实性。与前两种SSL证书类型相比,EV SSL具有极高的可信度以及安全性。适用于大型的企业,证券、金融平台,政府机构的站点等。一般EV证书在5-7个工作日内签发二、确定要做证书的域名的数量1、单域名证书该证书就是指一个域名一个证书2、多域名证书多域名就是一个证书可以支持多个域名,如果您拥有多个域名的网站,则可以选择多域名SSL证书,只需安装一个证书,就能轻松保护多个域名。3、通配符证书通配符证书可以保护一个主域名及其下所有的子域名。通配符证书可以保护通用域名和您在提交申请时指定的级别下的所有子域。只需在通用域名左侧的子域区域添加星号即可。

June 29, 2019 · 1 min · jiezi

SSL证书错误怎么办

SSL证书可以对网站的信息进行数据传输的加密,但是有时候网站明明成功安装了SSL证书,但是却没有生效。下面就说下SSL证书会遇到的问题:1、证书过期SSL证书在使用时会有一个使用期限的,可查看该证书信息的有效起止日期,确定证书是否在有效期内。若是在,再查看下电脑日期是否正确,都没问题的话,就要续费了。2、证书是由不受信任的机构颁发的a、证书不在浏览器厂商的受信任的列表中,可手动添加证书到浏览器的“信任列表”就可以了。浏览器中选项→内容选项卡→证书-→导入即可。这种方法只适用于自签证书。b、所使用的ssl证书不是由全球信任的CA机构颁发。换个权威CA机构颁发的ssl证书就可以了,如GeoTrust 、Symantec、COMODO等。3、ssl证书包含的域名与网站地址不一致。 每一个SSL证书对应的域名都是具有唯一性,查看下证书包含的域名是否和网站网址一致,如果不一致,会提示证书域名不匹配。 这是可以重新申请证书,若是有多个域名,可以申请多域名证书。4、页面包含有不安全的内容。 目前都提倡每一个页面使用HTTPS,则网站所有的内容都必须是HTTPS。如果该用https调用的,用了http调用,就会发生这种错误。将调用的元素http改成HTTPS即可,然后刷新测试ssl问题是否已经解决。5、浏览网页的时候突然弹出ssl连接错误a、按下“Win+R”组合键打开运行,在运行框中输入:inetcpl.cpl 点击确定打开“internet 选项”; 网站不一定要有SSL证书,但是有SSL证书比没有SSL证书会更好!具体表现在:1、更安全,SSL证书可以对网站传输数据加密,防止信息被窃取,防止信息泄露;2、防假冒,部署SSL证书后,会认证网站服务器身份,浏览器显示绿色安全锁,假冒网站无法仿冒;3、受信任,部署了SSL证书的网站更加能够获得访客信任。4、有利于网站SEO,百度谷歌对部署了SSL证书实现https加密的网站给于更多优待。在国外大多数网站都会部署SSL证书来确保网站数据传输安全和可信

June 28, 2019 · 1 min · jiezi

高并发架构的HTTP知识介绍

我们前面说过了 CDN的知识,也通过抓包分析了 TCP建立链接的过程。今天一起聊一聊应用层的协议 HTTP/HTTPS;这是应用工程师日常中接触最久的协议了。但是你真的了解他吗? 今天我们不讲 HTTP协议 的几种请求方式,主要介绍HTTP及HTTPS整个发送数据的过程。 消息结构还记得前面讲的 DNS 的过程吗?通过DNS我们拿到了服务端的IP地址,然后通过TCP协议,完成了浏览器与应用服务器的连接建立。HTTP协议是建立在TCP协议之上的(上层协议必然依赖下层协议),连接建立后,自然是开始通信。那么通信的格式是什么呢? 看上面这张图,HTTP的请求与响应格式基本如此。我们分开来说。 对于 请求消息 ,由三部分构成:请求行、请求头、请求的Body;所谓的请求行,就是:POST / HTTP/1.1 这部分内容。接下来的就是请求头,也就是我们常说的HTTP头;然后换行后紧接着的内容就是请求的Body,也就是正儿八经发送给应用的参数。 对于 响应消息 ,也是由三部分构成:状态行、响应头、响应的Body;关于响应行就是标记本次请求获得的结果是什么,这里主要有:20X、30X、40X、50X这几个范围的状态码,需要熟记。响应头里边重要的主要有跟缓存相关的东西,这部分内容会知道浏览器、CDN等缓存体的缓存行为,需要有一定的了解;最后的实体就是你请求的想要的结构,比如:HTML、Json等等。 传输过程消息构建后,如何发送进行传输呢?我们上面图片中看到的是字符串内容,HTTP本身是不能进行网络传输的,它必须依赖的底层的TCP协议建立的连接来发送数据。因此它实际上就是把这些构建好的字符串传给下层的TCP,至于TCP如何传输的可以看上篇文章,这里不展开了。 WebService 收到数据后会对数据进行处理然后交给应用服务器,应用服务器自然是将请求的Body作为输入,然后根据要求产生输出。输出的行为受到请求头中部分信息的控制,比如:格式(Content-Type)、编码(Accept-Charset)等。而产生的输出各个地方也会根据响应头进行处理。 看到这里大家有没有发现几个问题:HTTP依赖底层的TCP连接,也就是每个HTTP都需要进行三次握手,效率是不是会非常慢?这种方式总需要浏览器端主动发起链接,服务端想主动推送些什么很无能为力; 针对上面这些问题,HTTP2.0 协议也就诞生了,当然上面这些问题在 HTTP1.1 时代也有些解决方案。HTTP2.0 主要解决了协议头进行压缩,传输同样含义的内容,占用带宽更少速度更快;将上面的单向链接的方式改成二进制流的方式,服务端有能力主动推送数据;一个链接里边支持传输多种数据流。 关于 HTTP2.0 的内容不是文本主要想说的,大家可以自行了解下。接下来又到了 核心部分,关于 HTTPS 为什么安全、以及如何加密的解释。这部分内容算是面试的重要考点。 HTTPS为什么可靠现在大网站基本都适用了HTTPS协议,那么它跟HTTP是什么关系呢?它其实就是HTTP加上TLS(SSL)安全层,合在一起就叫 HTTPS。为什么有了这层处理数据就安全了呢? 很简单,要想安全就得加密。加密的方式现在无非就是:对称加密 与 非对称加密。 对称加密: 加密与解密都是使用相同的密钥,因此这种方式加密数据,密钥一定不能丢失。 非对称加密: 有两把密钥,私钥与公钥。使用私钥加密的数据必须使用公钥进行解密,反之依然。 安全的代价看起来 非对称加密 非常安全。不过对称加密的效率非常高。HTTPS正是综合使用这两种加密方式,让整个传输过程变得安全。接下来看看这个过程是如何完成的。 对称加密我们先来看看,如果HTTPS只使用 对称加密,能否满足安全的需要呢?由于这种情况只有一个密钥,服务端怎么把这个密钥交给客户端呢?线上传输肯定会泄漏。 所以单单有对称加密是不能满足需求。看来得换个路子。 非对称加密使用非对称加密的私钥加密数据,发给客户端。客户端用公钥解密就得到了数据。看起来好像没有什么问题。 但是这里有个问题,由于服务端发出来的数据是使用的私钥,由于公钥是公开,这相当于没有加密。大家都能够看到。并且服务端发出去的公钥这个过程也可能被串改啊,你怎么知道你收到的公钥就是服务器给你的呢?就跟现在很多诈骗公司一样,看起来有模有样,实则就是一皮包公司。 第三方公正为了解决上述问题,出现了一个所谓的 CA 机构,它怎么解决这个信任问题呢?它将服务器的公钥放到 CA证书 里边传给客户端(这里指浏览器),浏览器拿到后验证一下这个证书是否真实有效,因为CA机构是有限可追溯的。就跟你的护照一样,可辨别真伪,所以CA证书证明了有效,那么CA证书中携带的公钥自然也证明了自己的身份。 是不是看起来整个过程非常麻烦?没有办法为了安全,这点代价非常值得。这也是为什么我们常常说HTTPS的效率略低于HTTP的原因。 工作模式了解完上面的知识,我们来看看HTTPS到底是如何工作的? 客户端发起了一个https请求,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数random_c,扩展字段等信息。这个过程此时是明文的。然后服务器会进行回复,根据客户端支持的算法信息、套件等,服务器选择一个告诉客户端,我们就用这个吧,同时也会返回一个随机数random_s,后面协商密钥有用。服务端响应客户端,这个响应中包含了证书的链接,用于交换密钥。客户端对收到的数据进行检查,先把证书给拉下来,然后检查各种指标,如果不合法,会看到浏览器提醒不安全。如果验证通过,就会生成一个 随机数字 Pre-master,并用证书公钥加密(非对称加密),发送给服务器。 此时的客户端已经有了生成证书的全部内容,它会计算协商的密钥(对称密钥),然后告诉服务端以后通信都采用协商的通信密钥和加密算法进行加密通信。紧接着会用协商的密钥加密一段数据发给服务端,看看是否能够正常。上面这步里边,客户端发送了三个请求。服务器先将收到的 Pre-master 用自己的私钥解密出来。然后验证客户端用对称加密发过来的数据,如果通过,则也会告知客户端后续的通信都采用协商的密钥与算法进行加密通信。并且服务端也会用对称加密生成一段加密信息给客户端让客户端试试(对称密钥)。客户端使用对称密钥正确完成解密。握手结束。开始使用对称密钥的方式进行数据传输。总结由于不让文章显得过于复杂,我只介绍了最简单的单向认证。这种安全性并不是最高,单日常中也足够了。 ...

June 24, 2019 · 1 min · jiezi

HTTPHTTP-的15个常见知识点复习

前言自从入职新公司到现在,我们前端团队内部一直在做 ????每周一练 的知识复习计划,我之前整理了一个 每周一练 之 数据结构与算法 学习内容,大家也快去看看~~ 最近三周,主要复习 网络基础 相关的知识,今天我把这三周复习的知识和参考答案,整理成本文,欢迎各位朋友互相学习和指点,觉得本文不错,也欢迎点赞哈????????。 特别喜欢现在的每周学习和分享,哈哈哈~~???? ????推荐一个 github 仓库 —— 《awesome-http》,内容挺棒的。 注:本文整理资料来源网络,有些图片/段落找不到原文出处,如有侵权,联系删除。一. 简述浏览器输入 URL 地址后发生的事情1.1 描述浏览器向 DNS 服务器查找输入 URL 对应的 IP 地址。NS 服务器返回网站的 IP 地址。浏览器根据 IP 地址与目标 web 服务器在 80 端口上建立 TCP 连接。浏览器获取请求页面的 HTML 代码。浏览器在显示窗口内渲染 HTML 。窗口关闭时,浏览器终止与服务器的连接。1.2 TCP 知识点补充参考文章:《TCP三次握手和四次挥手协议》 建立 TCP 需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: TCP三次握手: 所谓的三次握手,是指建立一个 TCP 连接时,需要客户端和服务器端总共发送三个包,三次握手的目的是连接服务器的指定端口,建立 TCP 连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息,在 SOCKET 编程中,客户端执行 connect() 时,将会触发三次握手: TCP四次挥手: TCP连接的拆除需要发送四个包,客户端或者服务器端均可主动发起挥手动作,在SOCKET编程中,任何一方执行close()即可产生挥手操作。 2. 请介绍常见的 HTTP 状态码(至少五个)状态码是由 3 位数组成,第一个数字定义了响应的类别,且有五种可能取值: ...

June 22, 2019 · 4 min · jiezi

CentOSNginxhttpsflask域名备案

这篇文章内容比较杂,但是这次我准备多写些干货,自己备查,也方便别人参考。记录日期为2019年06月21日 阿里云域名购买及备案在阿里云购买域名和服务器以后,先进行服务器备案,生成备案号,然后进行实名采集认证等操作,全部结束以后,才可以进行域名备案申请。这些都有完整的操作流程和文档,很简单。需要注意的是:备案对网站名称有很详细的要求,比如不允许带有任何空间、博客等字样,提供的证件照必须穿着适宜的衣服,我穿背心的照片被打回了…… 这一步其实是阿里云代通信局进行初审,只有通过阿里云初审,才有可能备案成功。提交资料需要用阿里云手机APP提交,一个工作日左右会有人员和你联系,确认信息。通过初审以后,会替你将资料提交到所属省份的通信局进行正式备份,3-20个工作日有结果。我是5.25号转到通信局审核,6.10号通知我域名备案成功。 对了,备案成功以后,只要在阿里云控制台设置域名解析地址到你的公网IP即可。路径是:云解析DNS/域名解析/解析设置。别忘了在网站底部添加ICP备案号和备案链接,这个是必须写的,备查。友情提示,别忘了标注版权所属。 <el-link style="font-size: 22px;" href="http://www.beian.miit.gov.cn/" target="_blank">辽ICP备xxxxxxxx号</el-link>ps:用的element-ui的链接组件 https证书既然有了域名,为何不来一发https呢?产品列表里,进入SSL证书管理功能。申请一个新的免费证书,很简单,填写一些简单的资料即可。大概几天就可以申请下来,然后下载证书包,文档很全。压缩包里有俩证书文件,这俩后面在nginx里配置的时候需要用到。 这一步就没什么好说的了,参考阿里云文档https://help.aliyun.com/knowl... 如果需要强制http跳转到https,需要修改80端口的配置文件为: server { listen 80 default_server; listen [::]:80 default_server; server_name www.xxx.com; return 301 https://$host$request_uri; }这样就可以强制跳转 二级域名配置写到这发现似乎内容太少了,再来点吧。 Vue项目打包到dist以后,上传到服务器上。配置好nginx.conf文件,就能顺利解析。如果你是用vscode开发的小机灵鬼,推荐插件Sync-Rsync。当然别用在生产环境里,不然会被老板打死。 依然是进入云解析DNS的功能中,点击解析设置,点击添加记录。我这里添加一个隐性URL,也就是能够隐藏真实地址的功能,我想在服务器新开一个8000端口,做一些flask的api开发。嗯,归根结底还是因为穷,买不起第二台服务器…… 久等了.jpg,终于配图了。这样就可以用demo.xxx.com代替www.xxx.com:8000,在服务器上再开一个窟窿…… Flask服务器配置推荐用uwsgi+nginx+flask,配置文档http://docs.jinkan.org/docs/f...未完待续,苦逼开发中,9102年了,貌似很多教程都不用自己写啦,我只是个搬运工,果然站在巨人的肩膀上尿的远。

June 21, 2019 · 1 min · jiezi

SSL证书申请一年多少钱

网络安全是大家越来越重视的一个问题,说到给网站加密就不得不提到https加密了。那么什么是https加密呢?简单来讲就是在http的基础上增加了一个SSL层,相比于http,安全性更高。目前https是保护网站信息安全的最主要的手段。https的另外一种说法就是SSL证书,是数字证书的一种,安装了SSL证书网站可以在地址栏看到有https+绿色小锁。这种网站就是成功安装了SSL证书。SSL证书在市场上有三种类型:1、域名型DVSSL证书这种证书是最普通的,安全性也是最低的,但是价格便宜,签发快,无需递交任何审核资料。一般适用于个人网站。这个价格一般在300-2000左右2、企业型OVSSL证书这种证书安全性高,但是审核比较严格,需要递交申请资料。用户可以在域名证书中看到企业名称。适用于企业网站、金融机构或是电子商务网站。价格一般在2000-6000左右3、企业增强型EVSSL证书这种证书安全性最高,随时OVSSL证书的升级版本。在地址栏中就可以看到公司的名称和证书颁发机构的全称,地址栏会是绿色的。适用于大型的企业,证券、金融平台,政府机构的站点等。价格一般在4000-30000左右。合信SSL专售由Symantec、GeoTrust、COMODO等权威机构颁发的数字证书,我们提供多品牌、多类型SSL证书申请和安装服务,专为多数网站的企业提供多域名SSL证书和通配符证书,免手续费,全程专业技术指导,欢迎大家前来咨询。

June 21, 2019 · 1 min · jiezi

https申请多少钱

https简单来讲就是在http的基础上加了一个SSL层,安全性比http更高,更加能够保护网站的数据安全,增加用户的信任度,提升企业的形象,有利于网站的排名和优化。我们在给网站选择https加密的时候,一定要根据自己网站的实际需求去申请适合自己的SSL证书,不是越贵的越好,是适合自己的最好,效益最大化。SSL证书一般有三种类型:域名型DVSSL证书:这种证书一般几百左右就可以做好,签发快,一般一两个小时就能弄好,但是安全级别是最低的,适用于个人网站。企业型OVSSL证书:这种证书一般在2000-6000左右,审核比较严格,需要递交资料等待审核,一般在3-5个工作日下证书,适用于企业网站、大型的网站。企业增强型EVSSL证书:这种证书一般在4000-20000左右,审核非常严格,需要递交资料等待审核,一般5-7个工作日下证书,适用于金融、银行、电子商务类的网站。通常域名还分为单域名、多域名、泛域名这些的,我们在申请证书的时候,最好选择那些权威的受信任的CA证书颁发机构颁发的证书,合信SSL、Symantec、GeoTrust、COMODO等这些能够为用户提供优质的证书服务。

June 19, 2019 · 1 min · jiezi