{"record":{"id":"f4607d849d4cf902","repo":"hyperledger/fabric","slug":"s-is-not-supported","errorCode":null,"errorMessage":"%s is not supported","messagePattern":"(.+?) is not supported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"msp/mspimplvalidate.go","lineNumber":33,"sourceCode":"\t\"reflect\"\n\t\"time\"\n\n\t\"github.com/pkg/errors\"\n)\n\nfunc (msp *bccspmsp) validateIdentity(id *identity) error {\n\tid.validationMutex.Lock()\n\tdefer id.validationMutex.Unlock()\n\n\t// return cached validation value if already validated\n\tif id.validated {\n\t\treturn id.validationErr\n\t}\n\n\tid.validated = true\n\n\tif !msp.supportedPublicKeyAlgorithms[id.cert.PublicKeyAlgorithm] {\n\t\terr := errors.Errorf(\"%s is not supported\", id.cert.PublicKeyAlgorithm.String())\n\t\tid.validationErr = errors.WithMessage(err, \"could not validate identity's public key algorithm\")\n\t\tmspLogger.Warnf(\"Could not validate identity: %s (certificate subject=%s issuer=%s serialnumber=%d) Unsupported public key algorithm: %s\", id.validationErr, id.cert.Subject.CommonName, id.cert.Issuer.CommonName, id.cert.SerialNumber, id.cert.PublicKeyAlgorithm)\n\t\treturn id.validationErr\n\t}\n\n\tvalidationChain, err := msp.getCertificationChainForBCCSPIdentity(id)\n\tif err != nil {\n\t\tid.validationErr = errors.WithMessage(err, \"could not obtain certification chain\")\n\t\tmspLogger.Warnf(\"Could not validate identity: %s (certificate subject=%s issuer=%s serialnumber=%d)\", id.validationErr, id.cert.Subject, id.cert.Issuer, id.cert.SerialNumber)\n\t\treturn id.validationErr\n\t}\n\n\terr = msp.validateIdentityAgainstChain(id, validationChain)\n\tif err != nil {\n\t\tid.validationErr = errors.WithMessage(err, \"could not validate identity against certification chain\")\n\t\tmspLogger.Warnf(\"Could not validate identity: %s (certificate subject=%s issuer=%s serialnumber=%d)\", id.validationErr, id.cert.Subject, id.cert.Issuer, id.cert.SerialNumber)\n\t\treturn id.validationErr\n\t}","sourceCodeStart":15,"sourceCodeEnd":51,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/msp/mspimplvalidate.go#L15-L51","documentation":"validateIdentity guard: the identity certificate's public key algorithm is not in msp.supportedPublicKeyAlgorithms (this build registers only ECDSA). The message names the algorithm (e.g. RSA) and the error is cached on the identity and logged with subject/issuer/serial for traceability.","triggerScenarios":"Thrown at msp/mspimplvalidate.go:33 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reissue identities with ECDSA certificates, the only supported algorithm","Check for a binary built with restricted algorithm support"],"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"}