Files
be.ems/tools/cmca/config/config.go
2023-08-14 21:41:37 +08:00

59 lines
1.1 KiB
Go

package config
import (
"flag"
"fmt"
"os"
"gopkg.in/yaml.v3"
)
// Yaml struct of config
type YamlConfig struct {
//证书配置
CA struct {
RootCert string `yaml:"rootCert"` //root CA证书存放路径
Cert string `yaml:"cert"` // 服务端CA证书存放路径
PrivateKey string `yaml:"privateKey"` // 服务端私钥存放路径
Check bool `yaml:"check"` // 是否开启服务端证书检查功能
} `json:"ca"`
}
var CaConfig YamlConfig
func ReadConfig(configFile string) {
yamlFile, err := os.ReadFile(configFile)
if err != nil {
fmt.Println("Read yaml config file error:", err)
os.Exit(2)
}
err = yaml.Unmarshal(yamlFile, &CaConfig)
if err != nil {
fmt.Println("Unmarshal error:", err)
os.Exit(3)
}
}
var UserName *string
const defaultConfigFile = "./etc/cmca.yaml"
func init() {
cfile := flag.String("c", defaultConfigFile, "config file")
pv := flag.Bool("v", false, "print version")
ph := flag.Bool("h", false, "print help")
UserName = flag.String("u", "admin", "user name")
flag.Parse()
if *pv {
os.Exit(0)
}
if *ph {
flag.Usage()
os.Exit(0)
}
ReadConfig(*cfile)
}