org.bouncycastle.oer.OEREncoder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcutil-lts8on Show documentation
Show all versions of bcutil-lts8on Show documentation
The Bouncy Castle Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls. This jar contains APIs for Java 8 and later.
package org.bouncycastle.oer;
import java.io.ByteArrayOutputStream;
import org.bouncycastle.asn1.ASN1Encodable;
public class OEREncoder
{
public static byte[] toByteArray(ASN1Encodable encodable, Element oerElement)
{
try
{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
new OEROutputStream(bos).write(encodable, oerElement);
bos.flush();
bos.close();
return bos.toByteArray();
}
catch (Exception ex)
{
throw new IllegalStateException(ex.getMessage(), ex);
}
}
// public static byte[] toByteArrayLogging(ASN1Encodable encodable, OERDefinition.Element oerElement)
// {
// try
// {
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
// new OEROutputStream(new FilterOutputStream(bos)
// {
// @Override
// public void write(int b)
// throws IOException
// {
// System.out.print(Hex.toHexString(new byte[]{(byte)(b & 0xFF)}));
// super.write(b);
// }
//
// @Override
// public void write(byte[] b)
// throws IOException
// {
// System.out.print(Hex.toHexString(b));
// super.write(b);
// }
//
// @Override
// public void write(byte[] b, int off, int len)
// throws IOException
// {
// Hex.toHexString(b, 0, len);
// super.write(b, off, len);
// }
// })
// {
// {
// debugOutput = new PrintWriter(System.out);
// }
// }.write(encodable, oerElement);
// bos.flush();
// bos.close();
// return bos.toByteArray();
// }
// catch (Exception ex)
// {
// throw new IllegalStateException(ex.getMessage(), ex);
// }
// }
}