diff --git a/acme/challenge.go b/acme/challenge.go index 4304f01e..ba58cf04 100644 --- a/acme/challenge.go +++ b/acme/challenge.go @@ -471,12 +471,20 @@ func wireDPOP01Validate(ctx context.Context, ch *Challenge, db DB, jwk *jose.JSO return WrapErrorISE(err, "error unmarshalling challenge data") } - issuer := dpopOptions.GetDPOPTarget() + clientID, err := wire.ParseClientID(challengeValues.ClientID) + if err != nil { + return WrapErrorISE(err, "error parsing device id") + } + + issuer, err := dpopOptions.GetTarget(clientID.DeviceID) + if err != nil { + return WrapErrorISE(err, "Invalid Go template registered for 'target'") + } expiry := strconv.FormatInt(time.Now().Add(time.Hour*24*365).Unix(), 10) cmd := exec.CommandContext( ctx, - provisioner.GetOptions().GetDPOPOptions().GetValidationExecPath(), + dpopOptions.GetValidationExecPath(), "verify-access", "--client-id", challengeValues.ClientID,