Example usage for org.bouncycastle.asn1 ASN1Object getEncoded

List of usage examples for org.bouncycastle.asn1 ASN1Object getEncoded

Introduction

In this page you can find the example usage for org.bouncycastle.asn1 ASN1Object getEncoded.

Prototype

public byte[] getEncoded() throws IOException 

Source Link

Document

Return the default BER or DER encoding for this object.

Usage

From source file:me.yanaga.opes.CertificadoDigital.java

License:Apache License

private static CpfCnpj extractCnpj(Certificate[] certs) {
    X509Certificate[] certificates = (X509Certificate[]) certs;
    for (X509Certificate certificate : certificates) {
        try {//from  ww w  .j av a 2 s  .  c  o m
            for (Object obj : X509ExtensionUtil.getSubjectAlternativeNames(certificate)) {
                if (obj instanceof List) {
                    List values = (List) obj;
                    if (values.get(1) instanceof DLSequence) {
                        DLSequence seq = (DLSequence) values.get(1);

                        ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) seq.getObjectAt(0);
                        if (OID_CNPJ.equals(oid)) {
                            ASN1TaggedObject tagged = (ASN1TaggedObject) seq.getObjectAt(1);
                            ASN1Object derObj = tagged.getObject();
                            try {
                                String s = new String(derObj.getEncoded());
                                return CpfCnpj.of(s);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                }

            }
        } catch (CertificateParsingException e) {
            throw new IllegalArgumentException("Erro ao extrair CNPJ do CertificadoDigital", e);
        }
    }
    return null;
}