org.bouncycastle.jcajce.PKCS12StoreParameter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for Java 1.8 and later with debug enabled.
The newest version!
package org.bouncycastle.jcajce;
import java.io.OutputStream;
import java.security.KeyStore;
import java.security.KeyStore.LoadStoreParameter;
import java.security.KeyStore.ProtectionParameter;
/**
* LoadStoreParameter to allow for additional config with PKCS12 files.
*
* Note: if you want a straight DER encoding of a PKCS#12 file you should use this.
*
*/
public class PKCS12StoreParameter
implements LoadStoreParameter
{
private final OutputStream out;
private final ProtectionParameter protectionParameter;
private final boolean forDEREncoding;
public PKCS12StoreParameter(OutputStream out, char[] password)
{
this(out, password, false);
}
public PKCS12StoreParameter(OutputStream out, ProtectionParameter protectionParameter)
{
this(out, protectionParameter, false);
}
public PKCS12StoreParameter(OutputStream out, char[] password, boolean forDEREncoding)
{
this(out, new KeyStore.PasswordProtection(password), forDEREncoding);
}
public PKCS12StoreParameter(OutputStream out, ProtectionParameter protectionParameter, boolean forDEREncoding)
{
this.out = out;
this.protectionParameter = protectionParameter;
this.forDEREncoding = forDEREncoding;
}
public OutputStream getOutputStream()
{
return out;
}
public ProtectionParameter getProtectionParameter()
{
return protectionParameter;
}
/**
* Return whether the KeyStore used with this parameter should be DER encoded on saving.
*
* @return true for straight DER encoding, false otherwise,
*/
public boolean isForDEREncoding()
{
return forDEREncoding;
}
}