本篇文章介绍一下使用TLS/SSL创建安全的TCP通信,首先我们要准备一个数字证书和一个密钥关于如何产生密钥,请看下面文章:
Author: 岳东卫
Email: [email protected]
通过Openssl创建数字证书和密钥
TLS服务器端代码
TLS客户端代码
通过Openssl创建数字证书和密钥
关于如何通过Openssl创建证书和私钥
TLS服务器端代码
package main
import (
"crypto/rand"
"crypto/tls"
"fmt"
"log"
"net"
"time"
)
func HandleClientConnect(conn net.Conn) {
defer conn.Close()
fmt.Println("Receive Connect Request From ", conn.RemoteAddr().String())
buffer := make([]byte, 1024)
for {
len, err := conn.Read(buffer)
if err != nil {
log.Println(err.Error())
break
}
fmt.Printf("Receive Data: %s\n", string(buffer[:len]))
//发送给客户端
_, err =