ca证书
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user