This commit is contained in:
@@ -131,16 +131,40 @@ func (r clientRepo) Save(p param.SaveClient, adminId string) (client *entity.Cli
|
||||
return nil, errors.New("该客户端的IP已经存在,请检查后再添加!")
|
||||
}
|
||||
|
||||
// 为空,新增
|
||||
privateKey, err := wgtypes.GeneratePrivateKey()
|
||||
if err != nil {
|
||||
return
|
||||
var privateKey, presharedKey wgtypes.Key
|
||||
var publicKey string
|
||||
|
||||
if p.Keys.PrivateKey == "" {
|
||||
// 为空,新增
|
||||
privateKey, err = wgtypes.GeneratePrivateKey()
|
||||
if err != nil {
|
||||
log.Errorf("生成密钥对失败: %v", err.Error())
|
||||
return nil, errors.New("解析密钥失败")
|
||||
}
|
||||
} else {
|
||||
privateKey, err = wgtypes.ParseKey(p.Keys.PrivateKey)
|
||||
if err != nil {
|
||||
log.Errorf("解析密钥对失败: %v", err.Error())
|
||||
return nil, errors.New("解析密钥失败")
|
||||
}
|
||||
}
|
||||
publicKey := privateKey.PublicKey().String()
|
||||
presharedKey, err := wgtypes.GenerateKey()
|
||||
if err != nil {
|
||||
return
|
||||
|
||||
publicKey = privateKey.PublicKey().String()
|
||||
|
||||
if p.Keys.PresharedKey == "" {
|
||||
presharedKey, err = wgtypes.GenerateKey()
|
||||
if err != nil {
|
||||
log.Errorf("生成共享密钥失败: %v", err.Error())
|
||||
return nil, errors.New("解析密钥失败")
|
||||
}
|
||||
} else {
|
||||
presharedKey, err = wgtypes.ParseKey(p.Keys.PresharedKey)
|
||||
if err != nil {
|
||||
log.Errorf("解析共享密钥失败: %v", err.Error())
|
||||
return nil, errors.New("解析密钥失败")
|
||||
}
|
||||
}
|
||||
|
||||
keys := template_data.Keys{
|
||||
PrivateKey: privateKey.String(),
|
||||
PublicKey: publicKey,
|
||||
|
||||
Reference in New Issue
Block a user