@@ -86,32 +86,34 @@ func (bh *BaseHandler) APIRequestCertificateWithSimpleRequestHandler(w http.Resp
8686 ch := & entity.Challenge {
8787 CreatedFor : user .ID ,
8888 RequestInfoID : ri .ID ,
89- PublicID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
89+ ChallengeID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
9090 ChallengeType : "http-01" ,
9191 ValidUntil : time .Now ().Add (global .DefaultChallengeValidity ),
92+ Token : security .GenerateToken (80 ),
9293 }
9394 if err = bh .DBSvc .AddChallenge (ch ); err != nil {
9495 logger .Infof ("error inserting challenge: %s\n " , err .Error ())
9596 w .WriteHeader (http .StatusInternalServerError )
9697 return
9798 }
98- response .HTTP01Challenge = fmt . Sprintf ( bh . Config . ServerHost + global . SolveHTTP01ChallengePath , ch . PublicID )
99+ response .HTTP01Challenge = true
99100 }
100101 if dnsChallengeEnabled := bh .DBSvc .GetSetting (global .SettingEnableDNS01Challenge ); dnsChallengeEnabled == "true" {
101102 hasChallenge = true
102103 ch := & entity.Challenge {
103104 CreatedFor : user .ID ,
104105 RequestInfoID : ri .ID ,
105- PublicID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
106+ ChallengeID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
106107 ChallengeType : "dns-01" ,
107108 ValidUntil : time .Now ().Add (global .DefaultChallengeValidity ),
109+ Token : security .GenerateToken (80 ),
108110 }
109111 if err = bh .DBSvc .AddChallenge (ch ); err != nil {
110112 logger .Infof ("error inserting challenge: %s\n " , err .Error ())
111113 w .WriteHeader (http .StatusInternalServerError )
112114 return
113115 }
114- response .DNS01Challenge = fmt . Sprintf ( bh . Config . ServerHost + global . SolvDNS01ChallengePath , ch . PublicID )
116+ response .DNS01Challenge = true
115117 }
116118
117119 if hasChallenge {
@@ -146,8 +148,8 @@ func (bh *BaseHandler) APIRequestCertificateWithSimpleRequestHandler(w http.Resp
146148 return
147149 }
148150
149- response .CertificatePem = string (certBytes )
150- response .PrivateKeyPem = string (keyBytes )
151+ response .CertificatePEM = string (certBytes )
152+ response .PrivateKeyPEM = string (keyBytes )
151153
152154 w .Header ().Set ("Content-Type" , "application/json" )
153155 w .WriteHeader (http .StatusCreated )
@@ -213,32 +215,34 @@ func (bh *BaseHandler) APIRequestCertificateWithCSRHandler(w http.ResponseWriter
213215 ch := & entity.Challenge {
214216 CreatedFor : user .ID ,
215217 RequestInfoID : ri .ID ,
216- PublicID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
218+ ChallengeID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
217219 ChallengeType : "http-01" ,
218220 ValidUntil : time .Now ().Add (global .DefaultChallengeValidity ),
221+ Token : security .GenerateToken (80 ),
219222 }
220223 if err = bh .DBSvc .AddChallenge (ch ); err != nil {
221224 logger .Infof ("error inserting challenge: %s\n " , err .Error ())
222225 w .WriteHeader (http .StatusInternalServerError )
223226 return
224227 }
225- response .HTTP01Challenge = fmt . Sprintf ( bh . Config . ServerHost + global . SolveHTTP01ChallengePath , ch . PublicID )
228+ response .HTTP01Challenge = true
226229 }
227230 if dnsChallengeEnabled := bh .DBSvc .GetSetting (global .SettingEnableDNS01Challenge ); dnsChallengeEnabled == "true" {
228231 hasChallenge = true
229232 ch := & entity.Challenge {
230233 CreatedFor : user .ID ,
231234 RequestInfoID : ri .ID ,
232- PublicID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
235+ ChallengeID : fmt .Sprintf ("%d-%s" , user .ID , security .GenerateToken (20 )),
233236 ChallengeType : "dns-01" ,
234237 ValidUntil : time .Now ().Add (global .DefaultChallengeValidity ),
238+ Token : security .GenerateToken (80 ),
235239 }
236240 if err = bh .DBSvc .AddChallenge (ch ); err != nil {
237241 logger .Infof ("error inserting challenge: %s\n " , err .Error ())
238242 w .WriteHeader (http .StatusInternalServerError )
239243 return
240244 }
241- response .DNS01Challenge = fmt . Sprintf ( bh . Config . ServerHost + global . SolvDNS01ChallengePath , ch . PublicID )
245+ response .DNS01Challenge = true
242246 }
243247
244248 if hasChallenge {
@@ -273,7 +277,7 @@ func (bh *BaseHandler) APIRequestCertificateWithCSRHandler(w http.ResponseWriter
273277 return
274278 }
275279
276- response .CertificatePem = string (certBytes )
280+ response .CertificatePEM = string (certBytes )
277281
278282 w .Header ().Set ("Content-Type" , "application/json" )
279283 w .WriteHeader (http .StatusCreated )
@@ -347,9 +351,9 @@ func (bh *BaseHandler) APIObtainPrivateKeyHandler(w http.ResponseWriter, r *http
347351 }
348352}
349353
350- // APIOSCPRequestHandler responds to OCSP requests with whether the certificate
354+ // APIOCSPRequestHandler responds to OCSP requests with whether the certificate
351355// in question is revoked or not
352- func (bh * BaseHandler ) APIOSCPRequestHandler (w http.ResponseWriter , r * http.Request ) {
356+ func (bh * BaseHandler ) APIOCSPRequestHandler (w http.ResponseWriter , r * http.Request ) {
353357 defer r .Body .Close ()
354358 var (
355359 err error
@@ -363,27 +367,13 @@ func (bh *BaseHandler) APIOSCPRequestHandler(w http.ResponseWriter, r *http.Requ
363367 return
364368 }
365369
366- //if r.Header.Get("Accept") != "application/ocsp-response" {
367- // logger.Debug("incorrect Accept header: " + r.Header.Get("Accept"))
368- // w.WriteHeader(http.StatusBadRequest)
369- // return
370- //}
371-
372- //if r.Header.Get("Host") == "" {
373- // logger.Debug("incorrect Host header: empty")
374- // w.WriteHeader(http.StatusBadRequest)
375- // return
376- //}
377-
378370 w .Header ().Set ("Content-Type" , "application/ocsp-response" )
379371
380- b64 := vars ["base64" ]
381-
382- var request []byte
372+ var requestData []byte
383373 switch r .Method {
384374 case http .MethodPost :
385375 logger .Debug ("POST request" )
386- request , err = io .ReadAll (r .Body )
376+ requestData , err = io .ReadAll (r .Body )
387377 if err != nil {
388378 logger .Debugf ("could not read request body: %s" , err .Error ())
389379 w .WriteHeader (http .StatusBadRequest )
@@ -392,15 +382,15 @@ func (bh *BaseHandler) APIOSCPRequestHandler(w http.ResponseWriter, r *http.Requ
392382 _ = r .Body .Close ()
393383 case http .MethodGet :
394384 logger .Debug ("GET request" )
395- request , err = base64 .StdEncoding .DecodeString (b64 )
385+ requestData , err = base64 .StdEncoding .DecodeString (vars [ "base64" ] )
396386 if err != nil {
397387 logger .Debugf ("could not base64 decode: %s" , err .Error ())
398388 w .WriteHeader (http .StatusBadRequest )
399389 return
400390 }
401391 }
402392
403- ocspReq , err := ocsp .ParseRequest (request )
393+ ocspReq , err := ocsp .ParseRequest (requestData )
404394 if err != nil {
405395 logger .Debug ("could not parse OCSP Request: " + err .Error ())
406396 w .WriteHeader (http .StatusBadRequest )
@@ -644,9 +634,9 @@ func (bh *BaseHandler) APISolveHTTP01ChallengeHandler(w http.ResponseWriter, r *
644634 }
645635
646636 // set up response
647- response .CertificatePem = string (certBytes )
637+ response .CertificatePEM = string (certBytes )
648638 if ! fromCSR {
649- response .PrivateKeyPem = string (keyBytes )
639+ response .PrivateKeyPEM = string (keyBytes )
650640 }
651641
652642 w .Header ().Set ("Content-Type" , "application/json" )
@@ -799,9 +789,9 @@ func (bh *BaseHandler) APISolveDNS01ChallengeHandler(w http.ResponseWriter, r *h
799789 }
800790
801791 // set up response
802- response .CertificatePem = string (certBytes )
792+ response .CertificatePEM = string (certBytes )
803793 if ! fromCSR {
804- response .PrivateKeyPem = string (keyBytes )
794+ response .PrivateKeyPEM = string (keyBytes )
805795 }
806796
807797 w .Header ().Set ("Content-Type" , "application/json" )
0 commit comments