goquic编译运行

基本流程

go get -u -d github.com/devsisters/goquic
GOQUIC_BUILD=Release ./build_libs.sh

编译问题

由于没有njnia需要修改build_libs.sh文件中的以下部分

cd libquic/$BUILD_DIR
cmake -GNinja $OPT ../..
cd -
ninja -Clibquic/$BUILD_DIR
------------------------------
cd libquic/$BUILD_DIR
cmake $OPT ../..
make -j4
cd -

编译客户端/服务端

go build example/server.go
go build example/client.go

运行程序

./server -cert ssl.crt -key ssl.key -loglevel 0 -root /root/html/
./client -url http://127.0.0.1:8080/files/1M -loglevel 0

问题

goquic自带的client中有对证书进行校验,由于测试时证书是本地生成/签名的,因此会有校验失败的报错。

[root@vps goquic]# ./client -url http://127.0.0.1:8080/
2016/10/20 12:14:24 Verify failedx509: certificate signed by unknown authority

解决方法

client中注释掉证书校验部分代码,重新编译client。

-- /tmp/proof_verifier.go      2016-10-20 12:23:32.500833827 +0900
+++ ./proof_verifier.go 2016-10-20 12:23:44.585835315 +0900
@@ -107,6 +107,7 @@
                intmPool.AddCert(certs[i])
        }

+       /*
        verifyOpt := x509.VerifyOptions{
                DNSName:       string(job.hostname),
                Intermediates: intmPool,
@@ -115,6 +116,7 @@
                log.Fatal("Verify failed", err)
                return false
        }
+       */
        return true
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,373评论 25 708
  • 互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和...
    拉肚阅读 2,684评论 0 6
  • 记得刘德华的一句台词:"再烂的电影,它的预告片也是精彩的",因为预告片把电影中所有精彩的片段剪辑在了一起,...
    白云悠悠阅读 189评论 0 1
  • 今天是我实行制定计划的第一天。感觉非常好,让自己找到了状态。无论是工作还是学习我都展现出了自己想要展现的能力,今天...
    源清流阅读 176评论 0 0