tailscale/tailscale · error
acme.Register: %w
Error message
acme.Register: %w
What it means
GetReg reported no account, so a new ACME account was registered (or re-fetched if it already existed) and that step failed. It means the CA rejected registration or the follow-up lookup: network failure, CA outage, rate limiting, or a rejected key.
Source
Thrown at feature/acme/cert.go:465
}
// ensureAccount returns a valid ACME account, registering one if
// needed. Locked so two first-time issuances don't both create one.
func (e *extension) ensureAccount(ctx context.Context, ac *xacme.Client, logf logger.Logf, traceACME func(any)) (*xacme.Account, error) {
e.accountMu.Lock()
defer e.accountMu.Unlock()
a, err := ac.GetReg(ctx, "" /* pre-RFC param */)
switch {
case err == nil:
logf("already had ACME account.")
return a, nil
case err == xacme.ErrNoAccount:
a, err = ac.Register(ctx, new(xacme.Account), xacme.AcceptTOS)
if err == xacme.ErrAccountAlreadyExists {
a, err = ac.GetReg(ctx, "" /* pre-RFC param */)
}
if err != nil {
return nil, fmt.Errorf("acme.Register: %w", err)
}
logf("registered ACME account.")
traceACME(a)
return a, nil
default:
return nil, fmt.Errorf("acme.GetReg: %w", err)
}
}
type acmeCertIssueArgs struct {
cs certStore // certificate and ACME account storage
logf logger.Logf // logs ACME progress and failures
traceACME func(any) // optional hook for logging ACME messages
domain string // certificate domain being issued
opts []xacme.OrderOption // ACME order options
challengeType acmeChallengeType // challenge type to fulfill
}
View on GitHub (pinned to 6e0912f979)
Solutions
- Check outbound HTTPS connectivity to the ACME directory URL.
- Retry later if the CA reports rate limiting or an outage.
- Regenerate the ACME account key if the CA rejects it.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at feature/acme/cert.go:465 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tailscale/tailscale@6e0912f979 (2026-08-18).
Data as JSON: /api/errors/5ac4a1ef3b096c69.
Report an issue: GitHub.