hyperledger/fabric · error
request unauthorized due to incorrect timestamp %s, peer tim
Error message
request unauthorized due to incorrect timestamp %s, peer time %s, peer.authentication.timewindow %s
What it means
The channel header's timestamp deviates from the peer's UTC clock by more than the configured peer.authentication.timewindow in either direction — an anti-replay check failure, usually caused by client clock skew or too small a timewindow setting.
Source
Thrown at core/handlers/auth/filter/timewindow.go:56
if err != nil {
return errors.Wrap(err, "failed parsing proposal")
}
hdr, err := protoutil.UnmarshalHeader(prop.Header)
if err != nil {
return errors.Wrap(err, "failed parsing header")
}
chdr, err := protoutil.UnmarshalChannelHeader(hdr.ChannelHeader)
if err != nil {
return errors.Wrap(err, "failed parsing channel header")
}
timeProposal := chdr.Timestamp.AsTime().UTC()
now := time.Now().UTC()
if timeProposal.Add(timeWindow).Before(now) || timeProposal.Add(-timeWindow).After(now) {
return errors.Errorf("request unauthorized due to incorrect timestamp %s, peer time %s, peer.authentication.timewindow %s",
timeProposal.Format(time.RFC3339), now.Format(time.RFC3339), timeWindow.String())
}
return nil
}
// ProcessProposal processes a signed proposal
func (f *timewindowCheckFilter) ProcessProposal(ctx context.Context, signedProp *peer.SignedProposal) (*peer.ProposalResponse, error) {
if err := validateTimewindowProposal(signedProp, f.timeWindow); err != nil {
return nil, err
}
return f.next.ProcessProposal(ctx, signedProp)
}
View on GitHub (pinned to 2736b63f8f)
Solutions
- Synchronize the client's clock (NTP) with the peer
- Increase peer.authentication.timewindow in core.yaml if legitimate skew exists
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/handlers/auth/filter/timewindow.go:56 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Authentication and authorization failures — expired tokens, bad credentials, and missing scopes.
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/1adebd3992473c35.
Report an issue: GitHub.