zoukankan      html  css  js  c++  java
  • http 协议,SSL证书,http头信息,tcp/http区别,支付功能测试

     app 测试不同点,

    IOS 和 android 区别

    发布版本流程

    加密方式有哪些,如何进行加密比如银行卡号

    http 和 https

      超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

      为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

      HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS

      

    HTTP与HTTPS有什么区别?

      HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

      HTTPS和HTTP的区别主要如下:

      1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

      2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

      3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

      4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

     

    HTTPS的工作原理

      我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

    HTTP与HTTPS的区别-马海祥博客

     客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

      (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

      (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

      (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

      (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

      (5)Web服务器利用自己的私钥解密出会话密钥。

      (6)Web服务器利用会话密钥加密与客户端之间的通信。

      

    SSL 证书

    从前面我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码。在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的域名与证书上绑定的域名是否一致,同时还要对证书的颁发机构进行验证,如果验证失败浏览器会给出证书错误的提示。在这一部分我将对SSL证书的验证过程以及个人用户在访问HTTPS网站时,对SSL证书的使用需要注意哪些安全方面的问题进行描述。

    证书的类型

    实际上,我们使用的证书分很多种类型,SSL证书只是其中的一种。证书的格式是由X.509标准定义。SSL证书负责传输公钥,是一种PKI(Public Key Infrastructure,公钥基础结构)证书。
我们常见的证书根据用途不同大致有以下几种:

    • 
1、SSL证书,用于加密HTTP协议,也就是HTTPS。
    • 
2、代码签名证书,用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等。
    • 
3、客户端证书,用于加密邮件。
    • 
4、双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书。

    
这些证书都是由受认证的证书颁发机构——我们称之为CA(Certificate Authority)机构来颁发,针对企业与个人的不同,可申请的证书的类型也不同,价格也不同。CA机构颁发的证书都是受信任的证书,对于SSL证书来说,如果访问的网站与证书绑定的网站一致就可以通过浏览器的验证而不会提示错误。

    SSL证书申请与规则

    SSL证书可以向CA机构通过付费的方式申请,也可以自己制作。
CA机构颁发的证书价格非常昂贵,而且有效期一般只有一年到三年不等(年数不同,价格也不同),过期之后还要再次交钱申请,因此一般只有企业才会申请证书。但是随着个人网站的增多,目前也有针对个人的SSL证书服务,价格相对便宜一些,国内的话400多块钱就能申请到一个,国外更是有免费的SSL证书可以申请。
在申请SSL证书时需要向CA机构提供网站域名,营业执照,以及申请人的身份信息等。网站的域名非常重要,申请人必须证明自己对域名有所有权,如果支持Hotmail.com,Gmail.com的SSL证书都可以随便申请,黑客们就不用做假证书欺骗了。

    SSL证书签发机构

    签发主流机构:Symantec、Thawte、GeoTrust、GlobalSign等。目前网站用的这几种证书较多,比如前三种国内天威诚信CA可以颁发

    国内一共多三十多家数字证书颁发机构CA,开展有SSL证书业务的有沃通CA,CFCA,上海CA,广东CA等,其中沃通CA是SSL证书行业里做的比较早的CA机构,其次就是CFCA,主要做金融业务领域。

    CA认证

    电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

     玖财通用的证书是GeoTrust SSL证书

     GeoTrust是全球第二大数字证书颁发机构(CA),Symantec(赛门铁克)旗下 SSL 证书品牌,GeoTrust品牌的SSL证书是一款优质、高性价比的产品。不限制服务器安装数量,兼容流行的操作系统和浏览器等特点,使得GeoTrust已成为互联网、IT行业等企业的优选产品。

    http 信息头

    HTTP请求头

     

    HTTP响应头

    TCP/IP协议与Http协议的区别

     

     TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

      术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。 
        你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。
        HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。

    支付功能测试考虑点

    支付功能在很多软件应用中常常涉及到。支付功能的测试关注点是有没有出现资损  和事务的一致性。

    一、在支付金额上

    1、金额的最小值 :如0.01  

    2、无实际支付意义的金额:如0元订单

    3、支付金额错误:格式错误 、数字错误(支付金额为负数)

    3、超大金额 :设置的最高金额上限。(如微信红包单个最大值为200等)

    4、余额小于实际需要支付的金额

    5、银行卡或其他设置当日消费金额或者是单笔消费金额超限

    二、支付接口上

    关于支付会设计到很多第三方接口的相关的事件。比如:支付宝 、微信、网银系统 、手机银行、POS机的终端服务  甚至是 扫码枪 等硬件设备也是有关系的。

    三、支付的操作问题上

    1、指纹支付

    2、免密支付

    3、账号+密码支付

    4、动态获取支付验证码支付

    5、银行卡号+密码绑定支付

    6、信用卡可能会设计到支付码等

    如今的支付方式多样化、快捷支付和银行卡支付之间的差异性。信用卡和普通储蓄卡之间的差异处。等都是需要考虑的。

    四、产品的容错性上(异常处理)

    1、如何处理退款

    2、支付时出现断网  

    3、支付失败之后 如何补单和退单

    4、支付金额不足的情况下 ,充值后 是否可以继续支付

    5、持续点击 是否会出现多次扣款

    6、如果发生多次扣款,如何退款到支付账号

    五、产品后台处理上

    成功订单的账务处理、失败订单的账务处理、退款订单的账务处理、差错账处理等等

  • 相关阅读:
    闰年判断
    加法乘法模拟
    unordered_set构造 count_if函数
    写了又忘的层序遍历
    SQL Server 2000+ MS WIN2003群集服务配置
    解决IE8在vs2005下不能调试的问题.
    java邮件发送小实例
    异常:org.hibernate.AnnotationException: @Temporal should only be set on a java.util.Date or java.util.Calendar property
    异常:IOException while loading persisted sessions: java.io.EOFException
    异常:org.hibernate.cache.NoCachingEnabledException: Secondlevel cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cach
  • 原文地址:https://www.cnblogs.com/zhangbao003/p/9636405.html
Copyright © 2011-2022 走看看