SSL 与 数字证书 的基本概念和工作原理

前言SSL是让人头大的东西,看起来很复杂,我学过信息安全课,但是对SSL仍然是模糊一片。对于数字证书也是一知半解,从来没有去认真研究过。只知道个大概,“反正就是对称加密和非对称加密”,详细的就不懂了。其实这些跟操作系统,计算机体系结构一样,是基础知识,即使你不是专门研究信息安全的,即使你平时用不到,这些东西也应该是必须了解的~It’snotrocketscience!我这篇文章首先介绍有关信息安全的一些基本概念。然后分析数字证书的构成,用途以及SSL的工作原理。Enjoy! 一、为什么网络是不安全的?计算机世界是基于网络的,根据目前网络的结构和实现,数据包在世界各地的路由器之间游荡,任何人都可以获得你的发送的数据包,从而获得你发送的数据。局域网内就更方便了,只要你开个Sniffer在那里监听,别人QQ聊天的信息一览无余啊~为什呢?我来简单解释一下计算机网络是如何传输数据的。现实生活中,如果你请快递帮你寄东西,一般情况下,快递会把东西送到目的地,而不是其他地方。路由器就像是快递,在Internet上负责送数据。但和真实的快递不同的是,路由器会...

GMSSL学习总结1

接触GMSSL一段时间了,总结一点点想法证书:DER格式、PEM格式.DER=DER扩展用于二进制DER编码证书。.PEM=PEM扩展用于不同类型的X.509v3文件,是以“-BEGIN...”前缀的ASCII(Base64)数据。DER格式是二进制的,PEM则是文本格式,实际上,PEM格式的内容在去掉"---BEGIN"的内容,采取BASE64解码,得到的BLOG内容,就是DER格式的内容DER的内容,实际上在GMSSL、OPENSSL中,都是以ASN.1格式进行编码的内存BLOB查看GMSSL的代码,就可以看到公钥、私钥各自的ASN格式化支持代码RSA的公钥、私钥支持代码如下:ASN1_SEQUENCE_cb(RSAPrivateKey,rsa_cb)={ASN1_SIMPLE(RSA,version,LONG),ASN1_SIMPLE(RSA,n,BIGNUM),ASN1_SIMPLE(RSA,e,BIGNUM),ASN1_SIMPLE(RSA,d,CBIGNUM),ASN1_SIMPLE(RSA,p,CBIGNUM),ASN1_SIMPLE(RSA,q,...
代码星球 代码星球·2020-04-12

使用Varnish为网站加速

(1).Varnish概述  Varnish是一款高性能的开源HTTP加速器,可以有效降低web服务器的负载,提升访问速度。根据官方的说法,Varnish是一个cache型的HTTP反向代理。  Varnish的作者Poul-HenningKamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squidcache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是Varnishcache设计架构。  当把Varnish部署上之后,web请求的处理过程会有一些变化。客户端的请求将首先被Varnish接受。Varnish将分析接收的请求,并将其转发到后端的web服务器上。后端的web服务器对请求进行常规的处理,并将依次将处理结果返回给Varnish。  但Varnish的功能并非仅限于此。Varnish的核心功能是将后端web服务...
代码星球 代码星球·2020-04-12

ssl 原理和建立连接过程

ssl(“SecureSocketsLayer”)加密原理和https的关系https=http+sslssl位置: SSL握手证书主要作用是在SSL握手中,我们来看一下SSL的握手过程1.客户端提交https请求2.服务器响应客户,并把证书公钥发给客户端3.客户端验证证书公钥的有效性4.有效后,会生成一个会话密钥5.用证书公钥加密这个会话密钥后,发送给服务器6.服务器收到公钥加密的会话密钥后,用私钥解密,回去会话密钥7.客户端与服务器双方利用这个会话密钥加密要传输的数据进行通信SSL证书作用https起到了以下几个作用1.帮助客户端对服务器身份进行验证2.让需要传输的数据加密化3.验证传输的数据是否完整  ...

SSL介绍

SSL介绍:安全套接字(SecureSocketLayer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。SSL是Netscape于1994年开发的,后来成为了世界上最著名的web安全机制,所有主要的浏览器都支持SSL协议目前有三个版本:2、3、3.1,最常用的是第3版,是1995年发布的。SSL协议的三个特性①保密:在握手协议中定义了会话密钥后,所有的消息都被加密。②鉴别:可选的客户端认证,和强制的服务器端认证。③完整性:传送的消息包括消息完整性检查(使用MAC)。SSL的位置SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。  SSL的工作原理握手协议(Handshakeprotocol)记录协议(Recordprotocol)警报协议(Alertprotocol)1、握手协议握手协议是客户机和服务器用SSL连接通信时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该...
代码星球 代码星球·2020-04-11

网游加速器原理、技术与实现

网游加速器是针对个人用户快速连接网游服务器的一种服务。为了解决国内南北网络互联瓶颈的问题,“网络加速器”厂商通过搭建多个高带宽的双线机房(或通过租用双线VPS主机),并在这些机房的两大线路中架设多个节点服务器,然后为其编写“网络加速器客户端”,通过客户端判断用户的网络线路类型,并将用户应用客户端的网络数据转发到指定的节点服务器,由节点服务器转发给用户应用客户端请求的真正服务器。“网络加速器客户端”通过自动选择速度最快的节点服务器进行数据转发,以达到数据加速作用。优秀的网络加速器可以有效减少网络丢包和网络延迟。本文基于前期对各种加速器的分析以及对其中的关键技术进行试验。文章首先对互联网上流行的网游加速器分析结果进行简要汇总,然后针对各种不同的加速器实现方式进行详细实现细节的介绍。本文前期对目前流行的网游加速器(或网络加速器)客户端进行了一定的深度分析,了解了这些网络加速器的使用特点、应用领域以及所采用的关键技术。目前网络上流行的网络加速器主要有:迅游加速器、迅雷网游加速器、盛大ET加速器、LavaVPN、NetPas...

彻底解决:请求被中止: 未能创建 SSL/TLS 安全通道

最近有个项目要调用客户用java写的带https的webservice,对方提供了证书文件test.pfx,我这里调用方式如下://webservice代理类SvcServicesvc=newSvcService();//证书文件路径stringfilePath=ConfigurationManager.AppSettings["pfxUrl"];X509Certificatecert=newSystem.Security.Cryptography.X509Certificates.X509Certificate(filePath,"123456");//将证书添加客户端证书集合svc.ClientCertificates.Add(cert);//webservice调用代码...测试调用报错:请求被中止:未能创建SSL/TLS安全通道,于是赶紧google,找到如下解决方案:在webservice代理类的构造函数中添加下面的代码,绕过服务器证书验证。publicstaticboolCheckValidationResult(objectsender,System.Security.C...

Error: Error SSL Required Code: 403

Ifthe'services'WebdirectoryforArcGISissetto'RequireEncryptedWebAccess',thefollowingerrormessageisreturned:"ErrorSSLRequiredCode:403".The'services'WebdirectoryforArcGISServerhasbeensetto'RequireEncrypedWebAccess'. OpenArcGISServerManager,whichislocatedathttp://<HOSTNAME>:<PORT>/<ArcGISInstanceName>/Manager.Openthe'Services'tab.Click'ManageServices'.ClickProperties.Uncheck'RequireEncryptedWebAccess'.ClickOK.Re-startInternetInformationServices. ▪ClickStart.▪ClickRun.▪Typ...
代码星球 代码星球·2020-04-10

在 Laravel 应用中使用 pjax 进行页面加速

PHPHub使用pjax来加速网页的加载,这篇文章是在开发完此功能后做的笔记.什么是Pjax#.--./##aa('._)|'--|_.\___/____pjax___.">Y/|<'.'._.-'/\_//'-'/|--'\_/|/|_/|___.-'||`'`||||/'.//__./`||||||;||/||jgs|___\_.\_`-"--'---'项目地址见 这里,官方的介绍:pushState+ajax=pjax详细的解释请看 知乎上的这个问题,或者自己去查阅资料.简单点描述,就是利用 ajax 技术去服务器获取文档,在不刷新浏览器页面的情况下,更新当前页面,并且能保证页面的js 和 css 等 assets 文件不会被重复加载,然后利用浏览器提供的 pushState 功能,对URL进行更新,并能保证用户通过点击back按钮回溯到历史页面.注意: 并不是所有浏览器都支持pushState,关于浏览器的兼容请见这里,当浏览器不兼容的时候,会自动...

Tomcat开启SSL协议支持

使用sslconnector,必须先创建一个keystore。他包含了服务器中被客户端用于验证服务器的数字证书。一旦客户端接受了这个证书,客户端就可以使用publickey去加密他们要发送的数据。而服务器,拥有一个privatekey,作为唯一解密数据的密钥。进入jdk的bin目录,打开命令行工具,输入以下命令keytool-genkeypair-alias"tomcat"-keyalg"RSA"-keystore"f:omcat.keystore"依次按照提示进行输入,口令需要记住。y之后,生成一个keystore文件。在server.xml中找到此段<!--<Connectorport="8443"protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150"SSLEnabled="true"scheme="https"secure="true"clientAuth="false"sslProtocol="TLS"/>-->将注释放开,同时添加keystoreFile和keysto...

HTML5全球普及加速:有望终结iOS与安卓界限【转】

HTML5或将成为未来移动互联网时代的颠覆者。  5年前,当第一台iPhone诞生时,乔布斯断然拒绝了FlashPlayer,而选择HTML5(新型网页标准)取代Flash的功能。他曾预言,“虽然现阶段原生应用给了用户很好的体验,但基于网页的应用才能代表未来。”  6月28日,Adobe宣布将FlashPlayer全面从Google商店撤出,转攻HTML5;与此同时,由Mozila开发的基于HTML5的智能手机操作系统FirefoxOS也正式发布。  有业内人士向记者表示,在技术的迅速变革下,乔布斯的预言有望实现,HTML5将可能成下一代移动互联网的杀手锏。  弥合iOS和安卓?  近日,由美国浏览器巨头Mozilla开发的、基于HTML5的智能手机操作系统FirefoxOS正式发布。  MozillaCEOKovacs称,浏览器和操作系统之间的界限正在模糊,他们希望通过发布一个基于HTML5的移动开放平台,让应用直接内置在手机底层,摆脱对iOS、安卓等平台的依赖。  北京谋智网络技术有限公司(MozillaOnline)CEO宫力向记者表示,FirefoxOS...

Android之ClassLoader的工作机制

适用场景:   DexClassLoader可以加载jar/apk/dex,可以从SD卡中加载未安装的apk;   PathClassLoader只能加载系统中已经安装过的apk;两者的区别在于optimizedDirectory参数,其在BaseDexClassLoader构造方法中用于构建DexPathList对象。optimizedDirectory用来缓存需要加载的dex文件,并创建一个DexFile对象;如果它为null,那么会直接使用dex文件原有的路径来创建DexFile对象。optimizedDirectory必须是内部存储路径,DexClassLoader由于可以指定optimizedDirectory,从而可以加载外部dex,在使用的时候被复制到内部路径optimizedDirectory内;而PathClassLoader没指定optimizedDirectory,因此只能加载内部dex文件(即已经安装的apk文件)。相关链接:https://segmentfault.com/a/119000000406...

如何在本地phpStudy下安装SSL证书实现https链接

https://blog.csdn.net/weixin_43748386/article/details/84843010...

phpstudy 配置本地站点的ssl证书

phpstudy配置https可以访问本地服务器https://127.0.0.1首先,开启apache的编译ssl模块,如图打开phpstudy—其它选项设置—PHP扩张及设置—php扩展—php-openssl前面打勾如图点击打开修改httpd.conf配置文件,打开找到#LoadModulessl_modulemodules/mod_ssl.so,去掉前面的注释符#(保证前面没有#号),使得ssl模块生效。增加一条引用语句  Includeconf/vhosts_ssl.conf 依次打开phpstudy安装文件,打开Apache打开conf文件,在conf文件夹中创建一个名为vhosts_ssl.conf的配置文件。注意:证书路劲是否存在默认的证书,这是phpstudy默认给的本地证书。编辑vhosts_ssl.conf文件,增加如下内容:Listen443SSLStrictSNIVHostCheckoffSSLCipherSuiteAESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:...

网络请求 爬虫学习笔记 一 requsets 模块的使用 get请求和post请求初识别,代理,session 和ssl证书

前情提要:   为了养家糊口,为了爱与正义,为了世界和平,    从新学习一个爬虫技术,做一个爬虫学习博客记录  学习内容来自各大网站,网课,博客.  如果觉得食用不良,你来打我啊   requsets个人觉得系统自带的库不好用,以前学过自动自带的urblib和request库..想学隔壁转弯自学.学就从这个库开始学习    一:reuqests库的get和post请求   知识点:    >:1想要发送什么请求就调用什么请求的方法    >:2    response的属性    response.text()#获取文本    response.content()#以2进制的方式获取,需要docode()成对应编码    response.url()#返回url    response.encoding()#返回编码方式    response.status_code()#返回状态       二:get请求的例子1'''2get请求3'''4importrequests5#url='https://www.baidu.c...
首页上一页...1920212223...下一页尾页