From e417ba817105fc667ba80a3b6e76a9159bbb5daf Mon Sep 17 00:00:00 2001 From: Mosen Date: Tue, 19 Jul 2016 22:19:38 +1000 Subject: [PATCH] enroll service allows scep challenge via flag --scep-challenge or env MICROMDM_SCEP_CHALLENGE --- enroll/service.go | 13 +++++++------ main.go | 11 +++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/enroll/service.go b/enroll/service.go index a15298d5..7f6e0cea 100644 --- a/enroll/service.go +++ b/enroll/service.go @@ -6,7 +6,7 @@ type Service interface { 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) if err != nil { return nil, err @@ -30,11 +30,12 @@ func NewService(pushCertPath string, pushCertPass string, caCertPath string, url } return &service{ - Url: url, - SCEPUrl: scepUrl, - SCEPSubject: scepSubject, - Topic: pushTopic, - CACert: caCert, + Url: url, + SCEPUrl: scepURL, + SCEPSubject: scepSubject, + SCEPChallenge: scepChallenge, + Topic: pushTopic, + CACert: caCert, }, nil } diff --git a/main.go b/main.go index acb7916a..9c8ca09b 100644 --- a/main.go +++ b/main.go @@ -50,6 +50,7 @@ func main() { 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", ""), "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") flRedisconn = flag.String("redis", envString("MICROMDM_REDIS_CONN_URL", ""), "redis connection url") flVersion = flag.Bool("version", false, "print version information") @@ -200,6 +201,16 @@ func main() { 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) mgmtSvc := management.NewService(deviceDB, workflowDB, dc, pushSvc, appsDB, certsDB) commandSvc := command.NewService(commandDB)