docs: public boolean verify(byte[] data, byte[] sign, byte[] id) {
  		lock.lock();
  		final SM2Signer signer = getSigner();
  		try {
  			CipherParameters param = getCipherParameters(KeyType.PublicKey);
  			if (id != null) {
  				param = new ParametersWithID(param, id);
  			}
  			signer.init(false, param);
  			signer.update(data, 0, data.length);
  			return signer.verifySignature(sign);
  		} catch (Exception e) {
  			throw new CryptoException(e);
  		} finally {
  			lock.unlock();
  		}
  	}