	public ECDSAVerifier(final ECPublicKey publicKey, final Set<String> defCritHeaders)
		throws JOSEException {

		super(ECDSA.resolveAlgorithm(publicKey));

		this.publicKey = publicKey;
		
		if (! ECChecks.isPointOnCurve(
			publicKey,
			ECKey.Curve.forJWSAlgoritm(supportedECDSAAlgorithm()).toECParameterSpec())) {
			throw new JOSEException("Curve / public key parameters mismatch");
		}

		critPolicy.setDeferredCriticalHeaderParams(defCritHeaders);
	}
The software does not verify, or incorrectly verifies, the cryptographic signature for data.