{"record":{"id":"bae7ac53a151c642","repo":"hyperledger/fabric","slug":"failed-fetching-signing-identity","errorCode":null,"errorMessage":"failed fetching signing identity","messagePattern":"failed fetching signing identity","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/handlers/endorsement/builtin/default_endorsement.go","lineNumber":38,"sourceCode":"// New returns an endorsement plugin that behaves as the default endorsement system chaincode\nfunc (*DefaultEndorsementFactory) New() endorsement.Plugin {\n\treturn &DefaultEndorsement{}\n}\n\n// DefaultEndorsement is an endorsement plugin that behaves as the default endorsement system chaincode\ntype DefaultEndorsement struct {\n\tidentities.SigningIdentityFetcher\n}\n\n// Endorse signs the given payload(ProposalResponsePayload bytes), and optionally mutates it.\n// Returns:\n// The Endorsement: A signature over the payload, and an identity that is used to verify the signature\n// The payload that was given as input (could be modified within this function)\n// Or error on failure\nfunc (e *DefaultEndorsement) Endorse(prpBytes []byte, sp *peer.SignedProposal) (*peer.Endorsement, []byte, error) {\n\tsigner, err := e.SigningIdentityForRequest(sp)\n\tif err != nil {\n\t\treturn nil, nil, errors.Wrap(err, \"failed fetching signing identity\")\n\t}\n\t// serialize the signing identity\n\tidentityBytes, err := signer.Serialize()\n\tif err != nil {\n\t\treturn nil, nil, errors.Wrapf(err, \"could not serialize the signing identity\")\n\t}\n\n\t// sign the concatenation of the proposal response and the serialized endorser identity with this endorser's key\n\tsignature, err := signer.Sign(append(prpBytes, identityBytes...))\n\tif err != nil {\n\t\treturn nil, nil, errors.Wrapf(err, \"could not sign the proposal response payload\")\n\t}\n\tendorsement := &peer.Endorsement{Signature: signature, Endorser: identityBytes}\n\treturn endorsement, prpBytes, nil\n}\n\n// Init injects dependencies into the instance of the Plugin\nfunc (e *DefaultEndorsement) Init(dependencies ...endorsement.Dependency) error {","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/core/handlers/endorsement/builtin/default_endorsement.go#L20-L56","documentation":"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.","triggerScenarios":"Thrown at core/handlers/endorsement/builtin/default_endorsement.go:38 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2736b63f8fd5932511d56fe68b7039d15977f7f6","analyzedAt":"2026-09-04T08:52:36.465Z","contentChangedAt":"2026-09-04T08:52:36.465Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}