hyperledger/fabric · error
%s is not supported
Error message
%s is not supported
What it means
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.
Source
Thrown at msp/mspimplvalidate.go:33
"reflect"
"time"
"github.com/pkg/errors"
)
func (msp *bccspmsp) validateIdentity(id *identity) error {
id.validationMutex.Lock()
defer id.validationMutex.Unlock()
// return cached validation value if already validated
if id.validated {
return id.validationErr
}
id.validated = true
if !msp.supportedPublicKeyAlgorithms[id.cert.PublicKeyAlgorithm] {
err := errors.Errorf("%s is not supported", id.cert.PublicKeyAlgorithm.String())
id.validationErr = errors.WithMessage(err, "could not validate identity's public key algorithm")
mspLogger.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)
return id.validationErr
}
validationChain, err := msp.getCertificationChainForBCCSPIdentity(id)
if err != nil {
id.validationErr = errors.WithMessage(err, "could not obtain certification chain")
mspLogger.Warnf("Could not validate identity: %s (certificate subject=%s issuer=%s serialnumber=%d)", id.validationErr, id.cert.Subject, id.cert.Issuer, id.cert.SerialNumber)
return id.validationErr
}
err = msp.validateIdentityAgainstChain(id, validationChain)
if err != nil {
id.validationErr = errors.WithMessage(err, "could not validate identity against certification chain")
mspLogger.Warnf("Could not validate identity: %s (certificate subject=%s issuer=%s serialnumber=%d)", id.validationErr, id.cert.Subject, id.cert.Issuer, id.cert.SerialNumber)
return id.validationErr
}View on GitHub (pinned to 2736b63f8f)
Solutions
- Reissue identities with ECDSA certificates, the only supported algorithm
- Check for a binary built with restricted algorithm support
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at msp/mspimplvalidate.go:33 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/f4607d849d4cf902.
Report an issue: GitHub.