1010cc时时彩标准版 > 操作系统 > IE6浏览器不能展开QQ邮箱,浏览器不可能张开Sa

原标题:IE6浏览器不能展开QQ邮箱,浏览器不可能张开Sa

浏览次数:137 时间:2019-10-13

 

如果觉得赞,不要吝啬下面的赞赏哦!  

1010cc时时彩标准版 1

DNS over TLS,让电信、移动等各种ISP无法监视你的浏览轨迹......


SSL证书有助于客户端浏览器和网站服务器之间的加密连接。 这意味着在连接期间,所有的通信和活动都被遮蔽。

但通常意义上的网站使用SSL证书依旧无法避免ISP监控你的浏览痕迹。而DNS over TLS正是为网络浏览自由而生。

什么是DNS over TLS?


DNS over TLS是一项安全协议,它可以强制所有和DNS服务器相关的链接使用TLS。

TLS或传输层安全是SSL的后继。尽管我们常把SSL当成TLS的俗称,但其实SSL并不是什么安全协议,并迅速被TLS取代。而我们说的SSL证书,其实是TLS证书。因此当我们说TLS时,我们正在谈论SSL的概念。

什么是DNS服务器?


DNS指代域名服务器。DNS服务器的作用是将您输入的网址转换为计算机在网站服务时识别的IP地址。当你输入网站时,你输入的是URL或者统一资源定位器。而在后台,您的浏览器正在与DNS服务器建立连接,该服务器将该URL转换为IP地址,该IP地址用于服务于服务器上的文件。 这一切都在后台迅速发生。然而,大多数DNS请求都是以明文形式出现的,这意味着你的ISP可以看到信息交换。即便你浏览的这个网站使用了SSL,他们依旧可以看到你在干什么。

目前,请求是通过UDP或TCP协议进行的。

事实上,TLS over TLS在RFC 7858中就被指定。它要求所有DNS数据都通过TLS端口传输。使用TCP快速打开时,必须立即启动TLS握手。

这一技术的使用完全取决于DNS行业。 如果服务器配备了SSL / TLS,则DNS over TLS就在其功能之内 - 这只是一个支持它的问题。

我们强烈推荐DNS over TLS, 正如我们建议在你的网站上启用HSTS。尽可能多地关闭攻击媒介是十分重要的。SSL / TLS是一个很好的工具,但不是攻击的终结者。将正确的配置实现到最大化,才能真正实现安全!

●任意Diffie-Hellman组——CVE-2016-0701漏洞

生成私钥和证书

浏览器信任的证书一般是CA机构(证书授权中心)颁发的,证书有收费的也有免费的,本文使用免费证书用于测试。可以在腾讯云

我在本文中使用的是我自己的域名gw2.vsgames.cn在腾讯云申请的免费证书,如果没有自己的域名无法申请免费证书,可以在本文的末尾下载源码,其中有我生成好的证书用于测试。

证书生成好下载后包含一个私钥文件(.key)和一个证书文件(.crt),腾讯云生成的证书可以在Nginx目录下找到这两个文件。

这两个文件在Twisted中可以直接使用,但是Java只能使用PKCS#8私钥文件,需要对上面的.key文件用openssl进行转换(如果你是在我提供的源码中获取证书和私钥文件,我已经提供了转换好的私钥,可以跳过这一步)。

转换成DER二进制格式私钥文件,供MINA使用:

openssl pkcs8 -topk8 -inform PEM -in 2_gw2.vsgames.cn.key -outform DER -nocrypt -out private.der

转换成PEM文本格式私钥文件,供Netty使用:

openssl pkcs8 -topk8 -inform PEM -in 2_gw2.vsgames.cn.key -outform PEM -nocrypt -out private.pem

除了在CA机构申请证书,还可以通过自签名的方式生成私钥和证书,上一篇博文中采用的就是这种方式。不过由于自签名的证书不是CA机构颁发,不受浏览器信任,在浏览器打开HTTPS地址时会有安全提示,测试时可以忽略提示。

 

在做saba考试时,请注意弹出窗口上的小字点击“在新的窗口中打开”就可以打开考试窗口了。

●安装并运行火狐Nightly版:

HTTPS介绍

上一篇博文中介绍了SSL/TLS协议,我们平时接触最多的SSL/TLS协议的应用就是HTTPS协议了,现在可以看到越来越多的网站已经是https开头了,百度搜索也由曾经的http改为https。有关百度为什么升级https推荐阅读:

HTTPS即HTTP over SSL,实际上就是在原来HTTP协议的底层加入了SSL/TLS协议层,使得客户端(例如浏览器)与服务器之间的通信加密传输,攻击者无法窃听和篡改。相对而言HTTP协议则是明文传输,安全性并不高。

HTTPS主要可以避免以下几个安全问题:

解决方法:

好了,快去完成saba学习吧!

●安装并运行Chrome Canary版:

1010cc时时彩标准版,源码

由于HTTPS协议是由HTTP协议加上SSL/TLS协议组合而成,在阅读本文前可以先阅读一下HTTP服务...

  打开IE浏览器,依次打开 【Internet】→【高级】,在 设置 选项卡中,勾选【使用TLS1.0】,然后点击【确定】保存修改,重启浏览器即可。

然后按以下图中操作,设置允许弹出窗口;

●增强安全性

MINA、Netty、Twisted一起学(十二):HTTPS,nettytwisted

由于HTTPS协议是由HTTP协议加上SSL/TLS协议组合而成,在阅读本文前可以先阅读一下HTTP服务器和SSL/TLS两篇博文,本文中的代码也是由这两篇博文中的代码组合而成。

原因:未启用TLS1.0

Saba平台最近更新后出现一些现象如下:

提升速度

HTTPS服务器实现

将MINA、Netty、Twisted一起学(八):HTTP服务器和MINA、Netty、Twisted一起学(十一):SSL/TLS中的代码结合起来,即可实现HTTPS服务器。

允许弹出窗口

●提升速度

MINA

public class MinaServer {

    public static void main(String[] args) throws Exception {

        String certPath = "/Users/wucao/Desktop/https/1_gw2.vsgames.cn_bundle.crt";  // 证书
        String privateKeyPath = "/Users/wucao/Desktop/https/private.der";  // 私钥

        // 证书
        // https://docs.oracle.com/javase/7/docs/api/java/security/cert/X509Certificate.html
        InputStream inStream = null;
        Certificate certificate = null;
        try {
            inStream = new FileInputStream(certPath);
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            certificate = cf.generateCertificate(inStream);
        } finally {
            if (inStream != null) {
                inStream.close();
            }
        }

        // 私钥
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Files.readAllBytes(new File(privateKeyPath).toPath()));
        PrivateKey privateKey = KeyFactory.getInstance("RSA").generatePrivate(keySpec);

        KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
        ks.load(null, null);
        Certificate[] certificates = {certificate};
        ks.setKeyEntry("key", privateKey, "".toCharArray(), certificates);

        KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        kmf.init(ks, "".toCharArray());

        SSLContext sslContext = SSLContext.getInstance("TLS");
        sslContext.init(kmf.getKeyManagers(), null, null);



        IoAcceptor acceptor = new NioSocketAcceptor();
        DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
        chain.addLast("ssl", new SslFilter(sslContext));  // SslFilter   HttpServerCodec实现HTTPS
        chain.addLast("codec", new HttpServerCodec());
        acceptor.setHandler(new HttpServerHandle());
        acceptor.bind(new InetSocketAddress(8080));
    }
}

class HttpServerHandle extends IoHandlerAdapter {

    @Override
    public void exceptionCaught(IoSession session, Throwable cause)
            throws Exception {
        cause.printStackTrace();
    }

    @Override
    public void messageReceived(IoSession session, Object message)
            throws Exception {

        if (message instanceof HttpRequest) {

            // 请求,解码器将请求转换成HttpRequest对象
            HttpRequest request = (HttpRequest) message;

            // 获取请求参数
            String name = request.getParameter("name");
            if(name == null) {
                name = "World";
            }
            name = URLDecoder.decode(name, "UTF-8");

            // 响应HTML
            String responseHtml = "<html><body>Hello, "   name   "</body></html>";
            byte[] responseBytes = responseHtml.getBytes("UTF-8");
            int contentLength = responseBytes.length;

            // 构造HttpResponse对象,HttpResponse只包含响应的status line和header部分
            Map<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "text/html; charset=utf-8");
            headers.put("Content-Length", Integer.toString(contentLength));
            HttpResponse response = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpStatus.SUCCESS_OK, headers);

            // 响应BODY
            IoBuffer responseIoBuffer = IoBuffer.allocate(contentLength);
            responseIoBuffer.put(responseBytes);
            responseIoBuffer.flip();

            session.write(response); // 响应的status line和header部分
            session.write(responseIoBuffer); // 响应body部分
        }
    }
}

Netty 

public class NettyServer {

    public static void main(String[] args) throws InterruptedException, SSLException {

        File certificate = new File("/Users/wucao/Desktop/https/1_gw2.vsgames.cn_bundle.crt");  // 证书
        File privateKey = new File("/Users/wucao/Desktop/https/private.pem");  // 私钥
        final SslContext sslContext = SslContextBuilder.forServer(certificate, privateKey).build();

        EventLoopGroup bossGroup = new NioEventLoopGroup();
        EventLoopGroup workerGroup = new NioEventLoopGroup();
        try {
            ServerBootstrap b = new ServerBootstrap();
            b.group(bossGroup, workerGroup)
                    .channel(NioServerSocketChannel.class)
                    .childHandler(new ChannelInitializer<SocketChannel>() {
                        @Override
                        public void initChannel(SocketChannel ch) throws Exception {
                            ChannelPipeline pipeline = ch.pipeline();

                            // 加入SslHandler实现HTTPS
                            SslHandler sslHandler = sslContext.newHandler(ch.alloc());
                            pipeline.addLast(sslHandler);

                            pipeline.addLast(new HttpServerCodec());
                            pipeline.addLast(new HttpServerHandler());
                        }
                    });
            ChannelFuture f = b.bind(8080).sync();
            f.channel().closeFuture().sync();
        } finally {
            workerGroup.shutdownGracefully();
            bossGroup.shutdownGracefully();
        }
    }
}

class HttpServerHandler extends ChannelInboundHandlerAdapter {

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws UnsupportedEncodingException {

        if (msg instanceof HttpRequest) {

            // 请求,解码器将请求转换成HttpRequest对象
            HttpRequest request = (HttpRequest) msg;

            // 获取请求参数
            QueryStringDecoder queryStringDecoder = new QueryStringDecoder(request.uri());
            String name = "World";
            if(queryStringDecoder.parameters().get("name") != null) {
                name = queryStringDecoder.parameters().get("name").get(0);
            }

            // 响应HTML
            String responseHtml = "<html><body>Hello, "   name   "</body></html>";
            byte[] responseBytes = responseHtml.getBytes("UTF-8");
            int contentLength = responseBytes.length;

            // 构造FullHttpResponse对象,FullHttpResponse包含message body
            FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, Unpooled.wrappedBuffer(responseBytes));
            response.headers().set("Content-Type", "text/html; charset=utf-8");
            response.headers().set("Content-Length", Integer.toString(contentLength));

            ctx.writeAndFlush(response);
        }
    }

    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
        cause.printStackTrace();
        ctx.close();
    }
}

Twisted 

# -*- coding:utf-8 –*-

from twisted.internet import reactor, ssl
from twisted.web import server, resource

sslContext = ssl.DefaultOpenSSLContextFactory(
    '/Users/wucao/Desktop/https/2_gw2.vsgames.cn.key',  # 私钥
    '/Users/wucao/Desktop/https/1_gw2.vsgames.cn_bundle.crt',  # 证书
)

class MainResource(resource.Resource):

    isLeaf = True

    # 用于处理GET类型请求
    def render_GET(self, request):

        # name参数
        name = 'World'
        if request.args.has_key('name'):
            name = request.args['name'][0]

        # 设置响应编码
        request.responseHeaders.addRawHeader("Content-Type", "text/html; charset=utf-8")

        # 响应的内容直接返回
        return "<html><body>Hello, "   name   "</body></html>"


site = server.Site(MainResource())
reactor.listenSSL(8080, site, sslContext)
reactor.run()

1010cc时时彩标准版 2

在配置正常的情况下,TLS1.2会很安全,但如今它却显得有些过时了。在过去几年中,几次引人注目的攻击暴露出该协议的一些漏洞。在计算机安全领域,8年是一段很长的时间,因此IETF已经在着手开发该协议的新版本TLS1.3,并将于2016年底完工。

客户端测试 

由于浏览器就是最天然的HTTPS客户端,这里可以使用浏览器来测试。

首先,由于我的证书对应的域名是gw2.vsgames.cn,而服务器代码运行在本机上,所以先需要配置hosts将域名解析到localhost上:

127.0.0.1 gw2.vsgames.cn

在浏览器打开 

1010cc时时彩标准版 3
证书和私钥正确的HTTPS服务器,在Chrome浏览器左上角会有“安全”提示,其他浏览器也会有相应的提示。

打开IE浏览器,“工具”-“Internet选项”,点击“高级”

一条消息从悉尼往返纽约会花费超过200毫秒,而在移动设备上浏览还会增加这一延迟时间。通过现代4G移动网络发送一条消息通常会额外增加100毫秒的延迟。在欧洲仍普遍使用的3G网络下,这一延迟则会增加200毫秒。就连家用WiFi和ISP也会再增加几十毫秒的延迟。这些额外的延迟会使人感觉到移动浏览速度很缓慢。不幸的是,数据加密会进一步降低连接的速度。而TLS1.3有助于改善这种状况。

MINA、Netty、Twisted一起学系列

MINA、Netty、Twisted一起学(一):实现简单的TCP服务器

MINA、Netty、Twisted一起学(二):TCP消息边界问题及按行分割消息

MINA、Netty、Twisted一起学(三):TCP消息固定大小的前缀(Header)

MINA、Netty、Twisted一起学(四):定制自己的协议

MINA、Netty、Twisted一起学(五):整合protobuf

MINA、Netty、Twisted一起学(六):session

MINA、Netty、Twisted一起学(七):发布/订阅(Publish/Subscribe)

MINA、Netty、Twisted一起学(八):HTTP服务器

MINA、Netty、Twisted一起学(九):异步IO和回调函数

MINA、Netty、Twisted一起学(十):线程模型

MINA、Netty、Twisted一起学(十一):SSL/TLS

MINA、Netty、Twisted一起学(十二):HTTPS

。。。。。。。。。

TLS1.3信奉“少即是多”哲学,取消了对一些老旧而衰弱的加密方式的支持。这意味着你无法打开那些潜在的漏洞。TLS1.2中原有的大量特性都被删除了,其中大部分特性与那些著名的攻击有关,这些特性包括:

本文由1010cc时时彩标准版发布于操作系统,转载请注明出处:IE6浏览器不能展开QQ邮箱,浏览器不可能张开Sa

关键词:

上一篇:80端口为例,下面查看当前端口对应的进程名字

下一篇:没有了