/** * Initializes this {@code AlgorithmParameters} with the specified {@code * AlgorithmParameterSpec}. * * @param paramSpec * the parameter specification. * @throws InvalidParameterSpecException * if this {@code AlgorithmParameters} has already been * initialized or the given {@code paramSpec} is not appropriate * for initializing this {@code AlgorithmParameters}. */ public final void init(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { if (initialized) { throw new InvalidParameterSpecException("Parameter has already been initialized"); } spiImpl.engineInit(paramSpec); initialized = true; }
/** * Returns the {@code AlgorithmParameterSpec} for this {@code * AlgorithmParameters}. * * @param paramSpec * the type of the parameter specification in which this * parameters should be converted. * @return the {@code AlgorithmParameterSpec} for this {@code * AlgorithmParameters}. * @throws InvalidParameterSpecException * if this {@code AlgorithmParameters} has already been * initialized, or if this parameters could not be converted to * the specified class. */ public final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec) throws InvalidParameterSpecException { if (!initialized) { throw new InvalidParameterSpecException("Parameter has not been initialized"); } return spiImpl.engineGetParameterSpec(paramSpec); }
@Override public final InvalidParameterSpecException invalidParameterSpecSaltMustBeBytes(final int bytes) { final InvalidParameterSpecException result = new InvalidParameterSpecException(String.format(getLoggingLocale(), invalidParameterSpecSaltMustBeBytes$str(), bytes)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String invalidKeyBsdDesCryptPasswordHashMustBeBytes = "ELY08024: BSD DES crypt password hash must be %d bytes";
@Override public final InvalidParameterSpecException invalidParameterSpecSaltMustBeBytesBits(final int bytes, final int bits) { final InvalidParameterSpecException result = new InvalidParameterSpecException(String.format(getLoggingLocale(), invalidParameterSpecSaltMustBeBytesBits$str(), bytes, bits)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String invalidNumberOfRoundsMustBeIntBetween = "ELY08020: Invalid number of rounds. Must be an integer between %d and %d, inclusive";
@Override public final InvalidParameterSpecException invalidParameterSpec(final Class<?> expected, final Class<?> actual) { final InvalidParameterSpecException result = new InvalidParameterSpecException(String.format(getLoggingLocale(), invalidParameterSpec$str(), expected, actual)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String invalidFormat = "ELY08033: Invalid format given (expected %s, got %s)";
@Override public final InvalidParameterSpecException failedToEncode(final Throwable cause) { final InvalidParameterSpecException result = new InvalidParameterSpecException(String.format(getLoggingLocale(), failedToEncode$str())); result.initCause(cause); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String failedToDecode = "ELY08031: Failed to decode parameter specification";
/** * The elliptic curve ECParameterSpec for ECDSA; DSAParameterSpec for DSA * @throws InvalidParameterSpecException if the algorithm is not available on this JVM. */ public AlgorithmParameterSpec getParams() throws InvalidParameterSpecException { if (params == null) throw new InvalidParameterSpecException(toString() + " is not available in this JVM"); return params; }
/** * The elliptic curve ECParameterSpec for ECDSA; DSAParameterSpec for DSA * @throws InvalidParameterSpecException if the algorithm is not available on this JVM. */ public AlgorithmParameterSpec getParams() throws InvalidParameterSpecException { if (params == null) throw new InvalidParameterSpecException(toString() + " is not available in this JVM"); return params; }
protected AlgorithmParameterSpec localEngineGetParameterSpec( Class paramSpec) throws InvalidParameterSpecException { if (paramSpec == DSAParameterSpec.class) { return currentSpec; } throw new InvalidParameterSpecException("unknown parameter spec passed to DSA parameters object."); }
protected void engineInit( AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { if (!(paramSpec instanceof PSSParameterSpec)) { throw new InvalidParameterSpecException("PSSParameterSpec required to initialise an PSS algorithm parameters object"); } this.currentSpec = (PSSParameterSpec)paramSpec; }
protected void engineInit( AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { if (!(paramSpec instanceof DHParameterSpec)) { throw new InvalidParameterSpecException("DHParameterSpec required to initialise a Diffie-Hellman algorithm parameters object"); } this.currentSpec = (DHParameterSpec)paramSpec; }
protected AlgorithmParameterSpec localEngineGetParameterSpec( Class paramSpec) throws InvalidParameterSpecException { if (paramSpec == DSAParameterSpec.class || paramSpec == AlgorithmParameterSpec.class) { return currentSpec; } throw new InvalidParameterSpecException("unknown parameter spec passed to DSA parameters object."); }
protected AlgorithmParameterSpec localEngineGetParameterSpec( Class paramSpec) throws InvalidParameterSpecException { if (paramSpec == OAEPParameterSpec.class || paramSpec == AlgorithmParameterSpec.class) { return currentSpec; } throw new InvalidParameterSpecException("unknown parameter spec passed to OAEP parameters object."); }
protected AlgorithmParameterSpec localEngineGetParameterSpec( Class paramSpec) throws InvalidParameterSpecException { if (paramSpec == DHParameterSpec.class || paramSpec == AlgorithmParameterSpec.class) { return currentSpec; } throw new InvalidParameterSpecException("unknown parameter spec passed to DH parameters object."); }
protected AlgorithmParameterSpec localEngineGetParameterSpec( Class paramSpec) throws InvalidParameterSpecException { if (paramSpec == IESParameterSpec.class || paramSpec == AlgorithmParameterSpec.class) { return currentSpec; } throw new InvalidParameterSpecException("unknown parameter spec passed to ElGamal parameters object."); }
protected void engineInit( AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { if (!(paramSpec instanceof IESParameterSpec)) { throw new InvalidParameterSpecException("IESParameterSpec required to initialise a IES algorithm parameters object"); } this.currentSpec = (IESParameterSpec)paramSpec; }
protected AlgorithmParameterSpec localEngineGetParameterSpec( Class paramSpec) throws InvalidParameterSpecException { if (paramSpec == GOST3410PublicKeyParameterSetSpec.class || paramSpec == AlgorithmParameterSpec.class) { return currentSpec; } throw new InvalidParameterSpecException("unknown parameter spec passed to GOST3410 parameters object."); }
protected void engineInit( AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { if (!(paramSpec instanceof IvParameterSpec)) { throw new InvalidParameterSpecException("IvParameterSpec required to initialise a IV parameters algorithm parameters object"); } this.iv = ((IvParameterSpec)paramSpec).getIV(); }
protected void engineInit( AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { if (!(paramSpec instanceof IvParameterSpec)) { throw new InvalidParameterSpecException("IvParameterSpec required to initialise a IV parameters algorithm parameters object"); } this.iv = ((IvParameterSpec)paramSpec).getIV(); }
@Override public final InvalidParameterSpecException invalidParameterSpecSaltMustBeBytes(final int bytes) { final InvalidParameterSpecException result = new InvalidParameterSpecException(String.format(getLoggingLocale(), invalidParameterSpecSaltMustBeBytes$str(), bytes)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String invalidKeyBsdDesCryptPasswordHashMustBeBytes = "ELY08024: BSD DES crypt password hash must be %d bytes";