feat: 客户端授权防护——响应签名/激活令牌/宽限期/换座限制/在线清扫/疑似共享标记
This commit is contained in:
1 parent
37d9e8ca56
commit
b76111dfc3
11 files changed
+437
-54
No files matched your search
@@ -56,6 +56,26 @@ func (k *OfflineKeyPair) OfflinePublicKeyHex() string {
|
||||
return hex.EncodeToString(k.Public)
|
||||
}
|
||||
|
||||
// SignHexString 对任意字符串签名,返回 hex 编码的 Ed25519 签名(用于在线验证响应防篡改) // Logan.Li
|
||||
func (k *OfflineKeyPair) SignHexString(msg string) string {
|
||||
if k == nil || len(k.Private) == 0 {
|
||||
return ""
|
||||
}
|
||||
return hex.EncodeToString(ed25519.Sign(k.Private, []byte(msg)))
|
||||
}
|
||||
|
||||
// VerifyHexString 校验 SignHexString 产生的 hex 签名(供测试与桌面端对照实现) // Logan.Li
|
||||
func (k *OfflineKeyPair) VerifyHexString(msg, sigHex string) bool {
|
||||
if k == nil || len(k.Public) == 0 {
|
||||
return false
|
||||
}
|
||||
sig, err := hex.DecodeString(strings.TrimSpace(sigHex))
|
||||
if err != nil || len(sig) != ed25519.SignatureSize {
|
||||
return false
|
||||
}
|
||||
return ed25519.Verify(k.Public, []byte(msg), sig)
|
||||
}
|
||||
|
||||
// IsOfflineLicenseKey 判断是否为离线序列号 // Logan.Li
|
||||
func IsOfflineLicenseKey(key string) bool {
|
||||
return strings.HasPrefix(strings.TrimSpace(key), "LICOFF-")
|
||||
|
||||
Reference in new issue
Block a user