enroll service allows scep challenge via flag --scep-challenge or env MICROMDM_SCEP_CHALLENGE

This commit is contained in:
Mosen
2016-07-19 22:19:38 +10:00
parent 02cddb4b37
commit e417ba8171
2 changed files with 18 additions and 6 deletions

View File

@@ -6,7 +6,7 @@ type Service interface {
Enroll() (Profile, error) Enroll() (Profile, error)
} }
func NewService(pushCertPath string, pushCertPass string, caCertPath string, url string, scepUrl string) (Service, error) { func NewService(pushCertPath string, pushCertPass string, caCertPath string, scepURL string, scepChallenge string, url string) (Service, error) {
pushTopic, err := GetPushTopicFromPKCS12(pushCertPath, pushCertPass) pushTopic, err := GetPushTopicFromPKCS12(pushCertPath, pushCertPass)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -30,11 +30,12 @@ func NewService(pushCertPath string, pushCertPass string, caCertPath string, url
} }
return &service{ return &service{
Url: url, Url: url,
SCEPUrl: scepUrl, SCEPUrl: scepURL,
SCEPSubject: scepSubject, SCEPSubject: scepSubject,
Topic: pushTopic, SCEPChallenge: scepChallenge,
CACert: caCert, Topic: pushTopic,
CACert: caCert,
}, nil }, nil
} }

11
main.go
View File

@@ -50,6 +50,7 @@ func main() {
flTLSCACert = flag.String("tls-ca-cert", envString("MICROMDM_TLS_CA_CERT", ""), "path to CA certificate") flTLSCACert = flag.String("tls-ca-cert", envString("MICROMDM_TLS_CA_CERT", ""), "path to CA certificate")
flSCEPURL = flag.String("scep-url", envString("MICROMDM_SCEP_URL", ""), "scep server url. If blank, enroll profile will not use a scep payload.") flSCEPURL = flag.String("scep-url", envString("MICROMDM_SCEP_URL", ""), "scep server url. If blank, enroll profile will not use a scep payload.")
flScepUrl = flag.String("scep-url", envString("MICROMDM_SCEP_URL", ""), "url of SCEP server") flScepUrl = flag.String("scep-url", envString("MICROMDM_SCEP_URL", ""), "url of SCEP server")
flSCEPPass = flag.String("scep-challenge", envString("MICROMDM_SCEP_CHALLENGE", ""), "scep server challenge")
flPGconn = flag.String("postgres", envString("MICROMDM_POSTGRES_CONN_URL", ""), "postgres connection url") flPGconn = flag.String("postgres", envString("MICROMDM_POSTGRES_CONN_URL", ""), "postgres connection url")
flRedisconn = flag.String("redis", envString("MICROMDM_REDIS_CONN_URL", ""), "redis connection url") flRedisconn = flag.String("redis", envString("MICROMDM_REDIS_CONN_URL", ""), "redis connection url")
flVersion = flag.Bool("version", false, "print version information") flVersion = flag.Bool("version", false, "print version information")
@@ -200,6 +201,16 @@ func main() {
os.Exit(1) os.Exit(1)
} }
certsDB, err := certificates.NewDB(
"postgres",
*flPGconn,
logger,
)
if err != nil {
logger.Log("err", err)
os.Exit(1)
}
dc := depClient(logger, *flDEPCK, *flDEPCS, *flDEPAT, *flDEPAS, *flDEPServerURL, *flDEPsim) dc := depClient(logger, *flDEPCK, *flDEPCS, *flDEPAT, *flDEPAS, *flDEPServerURL, *flDEPsim)
mgmtSvc := management.NewService(deviceDB, workflowDB, dc, pushSvc, appsDB, certsDB) mgmtSvc := management.NewService(deviceDB, workflowDB, dc, pushSvc, appsDB, certsDB)
commandSvc := command.NewService(commandDB) commandSvc := command.NewService(commandDB)