{"record":{"id":"815898cafb915c70","repo":"hyperledger/fabric","slug":"signing-identity-expired-v-ago","errorCode":null,"errorMessage":"signing identity expired %v ago","messagePattern":"signing identity expired (.+?) ago","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"msp/mspimplsetup.go","lineNumber":415,"sourceCode":"\n\treturn nil\n}\n\nfunc (msp *bccspmsp) setupSigningIdentity(conf *m.FabricMSPConfig) error {\n\tif conf.SigningIdentity != nil {\n\t\tsid, err := msp.getSigningIdentityFromConf(conf.SigningIdentity)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\texpirationTime := sid.ExpiresAt()\n\t\tnow := time.Now()\n\t\tif expirationTime.After(now) {\n\t\t\tmspLogger.Debug(\"Signing identity expires at\", expirationTime)\n\t\t} else if expirationTime.IsZero() {\n\t\t\tmspLogger.Debug(\"Signing identity has no known expiration time\")\n\t\t} else {\n\t\t\treturn errors.Errorf(\"signing identity expired %v ago\", now.Sub(expirationTime))\n\t\t}\n\n\t\tmsp.signer = sid\n\t}\n\n\treturn nil\n}\n\nfunc (msp *bccspmsp) setupOUs(conf *m.FabricMSPConfig) error {\n\tmsp.ouIdentifiers = make(map[string][][]byte)\n\tfor _, ou := range conf.OrganizationalUnitIdentifiers {\n\n\t\tcertifiersIdentifier, err := msp.getCertifiersIdentifier(ou.Certificate)\n\t\tif err != nil {\n\t\t\treturn errors.WithMessagef(err, \"failed getting certificate for [%v]\", ou)\n\t\t}\n\n\t\t// Check for duplicates","sourceCodeStart":397,"sourceCodeEnd":433,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/msp/mspimplsetup.go#L397-L433","documentation":"setupSigningIdentity guard: the local signing identity's certificate expiration time is in the past; the message states how long ago it expired. The orderer/peer cannot use this expired identity to sign messages at startup.","triggerScenarios":"Thrown at msp/mspimplsetup.go:415 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Renew the signing certificate with the organization's CA and update the MSP config","Re-enroll the node with its fabric-ca server to obtain a new signing identity","Check node clock synchronization in case expiry is a false positive"],"exampleFix":null,"handlingStrategy":"validation","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"}