Bouncy Castle Cryptography Library 1.85

org.bouncycastle.pkcs.jcajce
Class JcePKCSPBEInputDecryptorProviderBuilder

java.lang.Object
  extended byorg.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder

public class JcePKCSPBEInputDecryptorProviderBuilder
extends java.lang.Object

JCA-based builder for an InputDecryptorProvider that handles the password-based decryption schemes encountered in PKCS#12 / PKCS#8: the legacy family (RFC 7292 Appendix C), PBES2 / PBKDF2 and PBES2 / scrypt (RFC 8018, RFC 7914), and the older PBE1 schemes (, ).


Constructor Summary
JcePKCSPBEInputDecryptorProviderBuilder()
          Base constructor.
 
Method Summary
 InputDecryptorProvider build(char[] password)
          Bind the builder to a password and return an InputDecryptorProvider that can produce decryptors for the password-based algorithm identifiers it is asked for.
 JcePKCSPBEInputDecryptorProviderBuilder setKeySizeProvider(SecretKeySizeProvider keySizeProvider)
          Set the lookup provider of AlgorithmIdentifier returning key_size_in_bits used to handle PKCS5 decryption.
 JcePKCSPBEInputDecryptorProviderBuilder setProvider(java.security.Provider provider)
           
 JcePKCSPBEInputDecryptorProviderBuilder setProvider(java.lang.String providerName)
           
 JcePKCSPBEInputDecryptorProviderBuilder setTryWrongPKCS12Zero(boolean tryWrong)
          Enable a workaround for older PKCS#12 files that derive the encryption key without applying the trailing zero byte that RFC 7292 requires.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JcePKCSPBEInputDecryptorProviderBuilder

public JcePKCSPBEInputDecryptorProviderBuilder()
Base constructor.

Method Detail

setProvider

public JcePKCSPBEInputDecryptorProviderBuilder setProvider(java.security.Provider provider)

setProvider

public JcePKCSPBEInputDecryptorProviderBuilder setProvider(java.lang.String providerName)

setTryWrongPKCS12Zero

public JcePKCSPBEInputDecryptorProviderBuilder setTryWrongPKCS12Zero(boolean tryWrong)
Enable a workaround for older PKCS#12 files that derive the encryption key without applying the trailing zero byte that RFC 7292 requires.

Parameters:
tryWrong - to enable the workaround.
Returns:
this builder.

setKeySizeProvider

public JcePKCSPBEInputDecryptorProviderBuilder setKeySizeProvider(SecretKeySizeProvider keySizeProvider)
Set the lookup provider of AlgorithmIdentifier returning key_size_in_bits used to handle PKCS5 decryption.

Parameters:
keySizeProvider - a provider of integer secret key sizes.
Returns:
the current builder.

build

public InputDecryptorProvider build(char[] password)
Bind the builder to a password and return an InputDecryptorProvider that can produce decryptors for the password-based algorithm identifiers it is asked for.

Parameters:
password - the password used to derive the encryption key.
Returns:
a configured decryptor provider.

Bouncy Castle Cryptography Library 1.85