This commit is contained in:
TsMask
2023-08-21 11:02:58 +08:00
parent 788f01674a
commit 4a3e6d7d67
26 changed files with 664 additions and 50 deletions

View File

@@ -1,8 +1,13 @@
package service
import (
"crypto/x509"
"encoding/base64"
"encoding/pem"
"errors"
"github.com/aceld/zinx/zlog"
"omc/ca"
"omc/conf"
"omc/db"
"omc/lib"
"omc/model"
@@ -21,3 +26,38 @@ func UserLogin(name, pw string) error {
}
return nil
}
func CMCALogin(source, sign, cert string) (login bool, err error) {
defer func() {
if r := recover(); r != nil {
zlog.Ins().ErrorF("CMCALogin panic:%v", r)
}
}()
//base64 解码签名数据
signBytes, err := base64.StdEncoding.DecodeString(sign)
if err != nil {
return false, err
}
//证书加载
block, _ := pem.Decode([]byte(cert))
//证书解析
certBody, err := x509.ParseCertificate(block.Bytes)
if err != nil {
return false, err
}
//证书校验
if conf.OmcConf.CA.Check {
if err := ca.VerifyCert(certBody); err != nil {
return false, err
}
}
//签名验证
err = ca.VerifyRSA([]byte(source), signBytes, certBody)
if err != nil {
return false, err
}
return true, nil
}

View File

@@ -5,14 +5,12 @@ import (
"encoding/binary"
"encoding/json"
"errors"
"fmt"
"github.com/aceld/zinx/ziface"
"omc/db"
"omc/lib"
"omc/model"
"omc/omc"
"time"
"github.com/aceld/zinx/ziface"
)
func GenFile(request ziface.IRequest, meta *lib.FileMeta, data []OmcAlarm) {
@@ -30,24 +28,15 @@ func GenFile(request ziface.IRequest, meta *lib.FileMeta, data []OmcAlarm) {
return
}
// add by simon at 2023/08/14
fmt.Println("meta:", meta)
if meta.ReqId == "" {
meta.ReqId = "2"
}
//发送文件同步信息
ackBody := omc.MsgBody{
MsgName: "ackSyncAlarmFileResult",
MsgName: "ackSyncOmcAlarmFileResult",
Msg: make(map[string]string, 0),
}
ackBody.Msg["reqId"] = meta.ReqId
ackBody.Keys = append(ackBody.Keys, "reqId")
ackBody.Msg["result"] = "succ"
ackBody.Keys = append(ackBody.Keys, "result")
ackBody.Msg["fileName"] = file
ackBody.Keys = append(ackBody.Keys, "fileName")
ackBody.Msg["resDesc"] = "succ"
ackBody.Keys = append(ackBody.Keys, "resDesc")
ackBody.Msg["resDesc"] = ""
ackBody.Pack()
request.GetConnection().SendMsg(omc.AckSyncAlarmFileResult, ackBody.RawData)
}