package main
import (
"fmt"
"basic.com/valib/licence.git"
)
func main() {
// 生成秘钥和公钥, 参数: 文件前缀
if len(os.Args) > 1 && os.Args[1] == "-g" {
licence.GetRsaKey("test")
return
}
// 获取机器码
machCode := licence.GetMachineCode()
fmt.Println("MachineCode: ", machCode)
// 获取注册码, 参数: 公司名, 电子邮箱, 手机号
regCode := licence.GetRegisterCode("basic.com", "dev@basic.com", "13911697509")
fmt.Println("Register code:", regCode)
fd, err := os.Open("./private.key")
if err != nil {
fmt.Println(err)
return
}
defer fd.Close()
privateKey, err := ioutil.ReadAll(fd)
if err != nil {
fmt.Println(err)
return
}
// 生成Licence, 参数: 注册码, 到期时间, 秘钥
licenceCode, err := licence.GenerateLicence(regCode, "2106-01-02 15:04:05", privateKey)
if err != nil {
fmt.Println("GenerateLicence error :", err)
return
}
fmt.Println("licence code:", licenceCode)
ioutil.WriteFile("./LicenceFile", []byte(licenceCode), 0666)
// 解密Licence文件
licenceText, err := licence.DecryptLicence("./LicenceFile", "./public.pem")
if err != nil {
fmt.Println("DecryptLicence error :", err)
return
}
fmt.Println("licence text:", string(licenceText))
// 验证Licence, 参数: LicenceFile, public.pem 的路径 返回: 0, 成功 1, 无效 2, 设备未授权 3, 过期
fmt.Println(licence.VerifyLicence("./LicenceFile", "./public.pem"))
}