package org.bouncycastle.openssl;

import java.io.IOException;
import java.io.Writer;
import java.security.NoSuchProviderException;
import java.security.SecureRandom;

import org.bouncycastle.util.io.pem.PemGenerationException;
import org.bouncycastle.util.io.pem.PemObjectGenerator;
import org.bouncycastle.util.io.pem.PemWriter;

General purpose writer for OpenSSL PEM objects.
/** * General purpose writer for OpenSSL PEM objects. */
public class PEMWriter extends PemWriter { private String provider;
Base constructor.
Params:
  • out – output stream to use.
/** * Base constructor. * * @param out output stream to use. */
public PEMWriter(Writer out) { this(out, "BC"); } public PEMWriter( Writer out, String provider) { super(out); this.provider = provider; } public void writeObject( Object obj) throws IOException { try { super.writeObject(new MiscPEMGenerator(obj)); } catch (PemGenerationException e) { if (e.getCause() instanceof IOException) { throw (IOException)e.getCause(); } throw e; } } public void writeObject( PemObjectGenerator obj) throws IOException { super.writeObject(obj); } public void writeObject( Object obj, String algorithm, char[] password, SecureRandom random) throws IOException { try { super.writeObject(new MiscPEMGenerator(obj, algorithm, password, random, provider)); } catch (NoSuchProviderException e) { throw new EncryptionException(e.getMessage(), e); } } }