基本流程
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
}
网友评论