From a57f9e31e93134147c982289c05d24bf5675e628 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 23 Aug 2023 17:53:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=81=E4=B9=A6=E4=BD=9C=E4=B8=BA=E5=85=AC?= =?UTF-8?q?=E9=92=A5=E8=BF=9B=E8=A1=8C=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handle/api/req_cmca_login_alarm.go | 5 +++-- handle/service/login.go | 11 ++--------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/handle/api/req_cmca_login_alarm.go b/handle/api/req_cmca_login_alarm.go index 5f22e5a..a81a2e7 100644 --- a/handle/api/req_cmca_login_alarm.go +++ b/handle/api/req_cmca_login_alarm.go @@ -25,8 +25,9 @@ func (*ReqCMCALoginAlarm) Handle(request ziface.IRequest) { body, err := parse.RequestBodyDecode(request, []string{"user", "key", "cert", "type"}) username := body.Data["user"] key := body.Data["key"] + cert := body.Data["cert"] tp := body.Data["type"] - if err != nil || username == "" || key == "" || tp == "" { + if err != nil || username == "" || cert == "" || key == "" || tp == "" { zlog.Ins().ErrorF("inlaid message body %s", err.Error()) request.GetConnection().SendMsg(ReqLoginAlarmMsgType, core.ResultError(ReqLoginAlarmMsgName, err.Error(), "")) return @@ -49,7 +50,7 @@ func (*ReqCMCALoginAlarm) Handle(request ziface.IRequest) { seqNo := m.GetUserByPID(uid.(string)).SeqNo content := username + ":" + seqNo // 检查判断是否对应随机码 - if err := service.CMCALogin(content, key); err != nil { + if err := service.CMCALogin(cert, content, key); err != nil { zlog.Ins().ErrorF("LoginFail %s", err) request.GetConnection().SendMsg(ReqLoginAlarmMsgType, core.Result(ReqLoginAlarmMsgName, map[string]string{ "result": "autherror", diff --git a/handle/service/login.go b/handle/service/login.go index dac62ac..189976e 100644 --- a/handle/service/login.go +++ b/handle/service/login.go @@ -4,11 +4,9 @@ import ( "encoding/base64" "errors" "fmt" - "omc/conf" "omc/core/db" "omc/core/utils" "omc/handle/model" - "os" "github.com/aceld/zinx/zlog" ) @@ -32,14 +30,9 @@ func UserLogin(name, passwd string) error { // CMCALogin 验证随机码 // content "user:seqNo" 组合的字符 // signatureBase64 签名数据(base64编码) -func CMCALogin(content, signatureBase64 string) error { - // 读取文件内容 - strByte, err := os.ReadFile(conf.OmcConf.PublicKey) - if err != nil { - return fmt.Errorf("无法读取文件 %v", err) - } +func CMCALogin(publicKeyStr, content, signatureBase64 string) error { // 公钥 - publicKeyPEM := fmt.Sprintf("-----BEGIN RSA PUBLIC KEY-----\n %s \n-----END RSA PUBLIC KEY-----", strByte) + publicKeyPEM := fmt.Sprintf("-----BEGIN RSA PUBLIC KEY-----\n %s \n-----END RSA PUBLIC KEY-----", publicKeyStr) // 解析公钥 publicKey, err := utils.ParsePKCS1PublicKey(publicKeyPEM)