@Override public PasswordBasedCipher getInstance(boolean forEncryption, byte[] password, byte[] encoded) { ASN1Sequence seq = ASN1Sequence.getInstance(encoded); AlgorithmIdentifier alg = getPBES2AlgorithmIdentifier(seq); PBES2Parameters params = PBES2Parameters.getInstance(alg.getParameters()); PasswordBasedCipherFactory pbecf = getPBES2CipherFactory(params.getEncryptionScheme()); PasswordBasedCipher cipher = getBcPBES2PasswordBasedCipher(pbecf, forEncryption, password, seq); if (cipher != null) { return cipher; } return pbecf.getInstance(forEncryption, password, encoded); }
@Override public PasswordBasedCipher getInstance( boolean forEncryption, byte[] password, ASN1Encodable parameters) { return getBcPBES2PasswordBasedCipher( getPBES2CipherFactory( PBES2Parameters.getInstance(getPBES2AlgorithmIdentifier(parameters).getParameters()) .getEncryptionScheme()), forEncryption, password, parameters); }