List of usage examples for org.bouncycastle.asn1.cms CompressedData getInstance
public static CompressedData getInstance(Object obj)
From source file:es.gob.afirma.applet.CMSInformation.java
License:Open Source License
/** * Obtiene la información de un tipo Compressed Data. * @return Representación de los datos. *///w w w.ja v a 2 s . c o m private static String getFromCompressedData(final ASN1TaggedObject doj) { String detalle = ""; //$NON-NLS-1$ detalle = detalle + "Tipo:" + SP + COMPRESSED_DATA + CR; //$NON-NLS-1$ final CompressedData ed = CompressedData.getInstance(doj.getObject()); //obtenemos la version detalle = detalle + AppletMessages.getString("CMSInformation.1") + SP + ed.getVersion() + CR; //$NON-NLS-1$ final AlgorithmIdentifier aid = ed.getCompressionAlgorithmIdentifier(); if (aid.getAlgorithm().toString().equals("1.2.840.113549.1.9.16.3.8")) { //$NON-NLS-1$ detalle = detalle + "OID del Algoritmo de firma: ZLIB" + CR; //$NON-NLS-1$ } else { detalle = detalle + "OID del Algoritmo de firma:" + SP + aid.getAlgorithm() + CR; //$NON-NLS-1$ } return detalle; }
From source file:es.gob.afirma.envelopers.cms.CMSCompressedData.java
License:Open Source License
/** Método que extrae el contenido de un tipo CompressedData. * @param data//from w ww.j a v a 2 s. c om * El tipo CompressedData. * @return El contenido del envoltorio. * @throws IOException * Se produce cuando hay un error de lectura de datos. */ static byte[] getContentCompressedData(final byte[] data) throws IOException { final ASN1Sequence contentEnvelopedData = Utils.fetchWrappedData(data); final CompressedData compressed = CompressedData.getInstance(contentEnvelopedData); final DEROctetString dos = (DEROctetString) compressed.getEncapContentInfo().getContent(); return BinaryUtils.uncompress(dos.getOctets()); }
From source file:es.gob.afirma.envelopers.cms.ValidateCMS.java
License:Open Source License
/** Método que verifica que es una firma de tipo "CompressedData" * @param data/*from w w w .ja va2 s . com*/ * Datos CMS. * @return si es de este tipo. */ static boolean isCMSCompressedData(final byte[] data) { boolean isValid = true; try { // Leemos el fichero que contiene la firma. final ASN1InputStream is = new ASN1InputStream(data); // Comenzamos a obtener los datos. final ASN1Sequence dsq = (ASN1Sequence) is.readObject(); is.close(); final Enumeration<?> e = dsq.getObjects(); // Elementos que contienen los elementos OID CompressedData. final ASN1ObjectIdentifier doi = (ASN1ObjectIdentifier) e.nextElement(); if (!doi.equals(CMSObjectIdentifiers.compressedData)) { isValid = false; } else { // Contenido de CompressedData final ASN1TaggedObject doj = (ASN1TaggedObject) e.nextElement(); final ASN1Sequence compressedData = (ASN1Sequence) doj.getObject(); CompressedData.getInstance(compressedData); } } catch (final Exception ex) { isValid = false; } return isValid; }