List of usage examples for org.bouncycastle.asn1.pkcs PKCSObjectIdentifiers id_PBKDF2
ASN1ObjectIdentifier id_PBKDF2
To view the source code for org.bouncycastle.asn1.pkcs PKCSObjectIdentifiers id_PBKDF2.
Click Source Link
From source file:org.xwiki.crypto.password.internal.kdf.factory.BcPKCS5S2KeyDerivationFunctionFactory.java
License:Open Source License
@Override public KeyDerivationFunction getInstance(KeyDerivationFunctionParameters params) { if (!(params instanceof PBKDF2Parameters)) { throw new IllegalArgumentException( "Invalid parameter used for PKCS5S2 function: " + params.getClass().getName()); }// www. j av a 2s .co m PBKDF2Parameters kdfParams = (PBKDF2Parameters) params; PKCS5S2ParametersGenerator generator; BcDigestFactory factory = null; if (kdfParams.getPseudoRandomFuntionHint() != null) { factory = this.getDigestFactory(kdfParams.getPseudoRandomFuntionHint()); generator = new PKCS5S2ParametersGenerator(factory.getDigestInstance()); } else { generator = new PKCS5S2ParametersGenerator(); } return new AbstractBcPBKDF2(generator, (PBKDF2Parameters) params, (factory != null) ? toHmacAlgId(factory.getAlgorithmIdentifier()) : HMAC_SHA1) { @Override public KeyDerivationFunc getKeyDerivationFunction() { PBKDF2Parameters parameters = (PBKDF2Parameters) getParameters(); AlgorithmIdentifier algId = getPRFAlgorithmIdentifier(); return new KeyDerivationFunc(PKCSObjectIdentifiers.id_PBKDF2, (isKeySizeOverwritten()) ? new PBKDF2Params(parameters.getSalt(), parameters.getIterationCount(), algId) : new PBKDF2Params(parameters.getSalt(), parameters.getIterationCount(), parameters.getKeySize(), algId)); } }; }
From source file:org.xwiki.crypto.password.internal.kdf.factory.BcPKCS5S2KeyDerivationFunctionFactory.java
License:Open Source License
@Override public KeyDerivationFunction getInstance(ASN1Encodable parameters) { KeyDerivationFunc kdf = KeyDerivationFunc.getInstance(parameters); if (!kdf.getAlgorithm().equals(PKCSObjectIdentifiers.id_PBKDF2)) { throw new IllegalArgumentException( "Illegal algorithm identifier for PBKDF2: " + kdf.getAlgorithm().getId()); }//from w w w. ja va 2s. c o m PBKDF2Params params = PBKDF2Params.getInstance(kdf.getParameters()); return getInstance( new PBKDF2Parameters((params.getKeyLength() != null) ? params.getKeyLength().intValue() : -1, params.getIterationCount().intValue(), params.getSalt(), toDigestHint(params.getPseudoRandomFunctionIdentifier()))); }