hyperledger/fabric · error
failed fetching signing identity
Error message
failed fetching signing identity
What it means
The default endorsement plugin's Endorse tried to obtain the peer's signing identity via the SigningIdentityFetcher and failed — the local MSP identity could not be loaded, so no endorsement signature can be produced.
Source
Thrown at core/handlers/endorsement/builtin/default_endorsement.go:38
// New returns an endorsement plugin that behaves as the default endorsement system chaincode
func (*DefaultEndorsementFactory) New() endorsement.Plugin {
return &DefaultEndorsement{}
}
// DefaultEndorsement is an endorsement plugin that behaves as the default endorsement system chaincode
type DefaultEndorsement struct {
identities.SigningIdentityFetcher
}
// Endorse signs the given payload(ProposalResponsePayload bytes), and optionally mutates it.
// Returns:
// The Endorsement: A signature over the payload, and an identity that is used to verify the signature
// The payload that was given as input (could be modified within this function)
// Or error on failure
func (e *DefaultEndorsement) Endorse(prpBytes []byte, sp *peer.SignedProposal) (*peer.Endorsement, []byte, error) {
signer, err := e.SigningIdentityForRequest(sp)
if err != nil {
return nil, nil, errors.Wrap(err, "failed fetching signing identity")
}
// serialize the signing identity
identityBytes, err := signer.Serialize()
if err != nil {
return nil, nil, errors.Wrapf(err, "could not serialize the signing identity")
}
// sign the concatenation of the proposal response and the serialized endorser identity with this endorser's key
signature, err := signer.Sign(append(prpBytes, identityBytes...))
if err != nil {
return nil, nil, errors.Wrapf(err, "could not sign the proposal response payload")
}
endorsement := &peer.Endorsement{Signature: signature, Endorser: identityBytes}
return endorsement, prpBytes, nil
}
// Init injects dependencies into the instance of the Plugin
func (e *DefaultEndorsement) Init(dependencies ...endorsement.Dependency) error {View on GitHub (pinned to 2736b63f8f)
Solutions
- Verify the peer's local MSP configuration and signing certificate
- Check peer MSP setup logs for the underlying identity load error
- Restart the peer after fixing MSP material
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at core/handlers/endorsement/builtin/default_endorsement.go:38 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/bae7ac53a151c642.
Report an issue: GitHub.