协议密钥动态随机生成

This commit is contained in:
huangxiaolei
2022-11-28 23:36:57 +08:00
parent 362ca86130
commit 746435cf3c
22 changed files with 173 additions and 172 deletions

View File

@@ -2,7 +2,6 @@ package app
import (
"context"
"github.com/nats-io/nats.go"
_ "net/http/pprof"
"os"
"os/signal"
@@ -26,20 +25,6 @@ func Run(ctx context.Context, configFile string) error {
_ = controller.NewController(db)
// TODO 临时写一下用来传递新的密钥后面改RPC
conn, err := nats.Connect(config.CONF.MQ.NatsUrl)
if err != nil {
logger.LOG.Error("connect nats error: %v", err)
return nil
}
natsMsg := nats.NewMsg("GATE_KEY_HK4E")
natsMsg.Data = []byte{0x00, 0xff}
err = conn.PublishMsg(natsMsg)
if err != nil {
logger.LOG.Error("nats publish msg error: %v", err)
return nil
}
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
for {

View File

@@ -2,6 +2,8 @@ package controller
import (
"encoding/base64"
"encoding/binary"
"github.com/nats-io/nats.go"
"net/http"
"strconv"
@@ -28,7 +30,26 @@ func NewController(dao *dao.Dao) (r *Controller) {
r.dao = dao
r.regionListBase64 = ""
r.regionCurrBase64 = ""
regionCurr, regionList := region.InitRegion(config.CONF.Hk4e.KcpAddr, config.CONF.Hk4e.KcpPort)
regionCurr, regionList, dispatchEc2b := region.InitRegion(config.CONF.Hk4e.KcpAddr, config.CONF.Hk4e.KcpPort)
// TODO 临时写一下用来传递新的密钥后面改RPC
conn, err := nats.Connect(config.CONF.MQ.NatsUrl)
if err != nil {
logger.LOG.Error("connect nats error: %v", err)
return nil
}
natsMsg := nats.NewMsg("GATE_KEY_HK4E")
natsMsg.Data = make([]byte, 8)
dispatchEc2bSeed := dispatchEc2b.Seed()
binary.BigEndian.PutUint64(natsMsg.Data, dispatchEc2bSeed)
err = conn.PublishMsg(natsMsg)
if err != nil {
logger.LOG.Error("nats publish msg error: %v", err)
return nil
}
conn.Close()
logger.LOG.Debug("send new dispatch ec2b seed: %v", dispatchEc2bSeed)
r.signRsaKey, r.encRsaKeyMap, r.pwdRsaKey = region.LoadRsaKey()
regionCurrModify, err := pb.Marshal(regionCurr)
if err != nil {