org.spongycastle.jcajce.PKCS12StoreParameter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of prov Show documentation
Show all versions of prov Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle
intended for the Android platform. Android unfortunately ships with a stripped-down version of
Bouncy Castle, which prevents easy upgrades - Spongy Castle overcomes this and provides a full,
up-to-date version of the Bouncy Castle cryptographic libs.
The newest version!
package org.spongycastle.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;
}
}