tech.ydb.shaded.bouncycastle.jcajce.BCLoadStoreParameter Maven / Gradle / Ivy
package org.bouncycastle.jcajce;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.KeyStore;
public class BCLoadStoreParameter
    implements KeyStore.LoadStoreParameter
{
    private final InputStream in;
    private final OutputStream out;
    private final KeyStore.ProtectionParameter protectionParameter;
    /**
     * Base constructor for
     *
     * @param out
     * @param password
     */
    public BCLoadStoreParameter(OutputStream out, char[] password)
    {
        this(out, new KeyStore.PasswordProtection(password));
    }
    public BCLoadStoreParameter(InputStream in, char[] password)
    {
        this(in, new KeyStore.PasswordProtection(password));
    }
    public BCLoadStoreParameter(InputStream in, KeyStore.ProtectionParameter protectionParameter)
    {
        this(in, null, protectionParameter);
    }
    public BCLoadStoreParameter(OutputStream out, KeyStore.ProtectionParameter protectionParameter)
    {
        this(null, out, protectionParameter);
    }
    BCLoadStoreParameter(InputStream in, OutputStream out, KeyStore.ProtectionParameter protectionParameter)
    {
        this.in = in;
        this.out = out;
        this.protectionParameter = protectionParameter;
    }
    public KeyStore.ProtectionParameter getProtectionParameter()
    {
        return protectionParameter;
    }
    public OutputStream getOutputStream()
    {
        if (out == null)
        {
            throw new UnsupportedOperationException("parameter not configured for storage - no OutputStream");
        }
        return out;
    }
    public InputStream getInputStream()
    {
        if (out != null)
        {
            throw new UnsupportedOperationException("parameter configured for storage OutputStream present");
        }
        return in;
    }
}
    © 2015 - 2025 Weber Informatics LLC | Privacy Policy