Package br.ufsc.labsec.signature
Class Asn1SignatureContainer<Sig>
java.lang.Object
br.ufsc.labsec.signature.Asn1SignatureContainer<Sig>
- All Implemented Interfaces:
CmsParent
,SignatureContainer<Sig>
,Iterable<Sig>
,org.bouncycastle.util.Encodable
- Direct Known Subclasses:
CadesSignatureContainer
public abstract class Asn1SignatureContainer<Sig> extends Object implements SignatureContainer<Sig>, CmsParent
-
Field Summary
Fields Modifier and Type Field Description protected org.bouncycastle.cms.CMSSignedData
cmsSignedData
O arquivo assinadoprotected byte[]
contentToBeSigned
O conteúdo assinadoprotected byte[]
signatureBytes
Bytes da assinaturaprotected List<Sig>
signatures
-
Constructor Summary
Constructors Constructor Description Asn1SignatureContainer(byte[] signatureBytes)
Instancia oSignatureContainer
a partir dos bytes da assinatura com o conteúdo anexado.Asn1SignatureContainer(byte[] signatureBytes, byte[] contentToBeSigned)
Instancia oSignatureContainer
a partir de umCMSSignedData
e do conteúdo assinado.Asn1SignatureContainer(org.bouncycastle.cms.CMSSignedData cmsSignedData)
Instancia oSignatureContainer
a partir de umCMSSignedData
.Asn1SignatureContainer(org.bouncycastle.cms.CMSSignedData cmsSignedData, byte[] contentToBeSigned)
-
Method Summary
Modifier and Type Method Description void
encode(OutputStream outputStream)
Escreve a assinatura, já codificada para seu formato, noOutputStream
desejadoorg.bouncycastle.util.Store<org.bouncycastle.cert.X509CertificateHolder>
getCertificateStore()
Retorna os certificados utilizados para assinatura no arquivoSignatureContainer<Sig>
getContainer()
Retorna o contêiner de assinaturabyte[]
getContentToBeSigned()
Retorna os bytes do conteúdo assinadoorg.bouncycastle.util.Store<org.bouncycastle.cert.X509CRLHolder>
getCrls()
Retorna a lista de certificados revogadosint
getSignatureCount()
Retorna a quantidade de assinaturas no arquivo, desconsiderando contra-assinaturasbyte[]
getSignedContent()
Retorna uma representação do contêiner de assinaturas.org.bouncycastle.cms.CMSSignedData
getSignedData()
Retorna uma representação do contêiner de assinaturas.boolean
hasDetachedContent()
Verifica se o arquivo possui assinatura com conteúdo destacadoprotected abstract void
initializeSignatures()
@NotNull Iterator<Sig>
iterator()
void
replaceChildSignature(org.bouncycastle.cms.SignerInformation signerToReplace)
Substitui o primeiro assinante que tiver o mesmo identificador do assinante passado como parâmetro.void
setSignedContent(byte[] signedContent)
Define qual foi o conteúdo assinado que será usado na verificação da assinatura.void
setSignedContent(File signedContent)
Define qual foi o conteúdo assinado que será usado na verificação da assinatura.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface br.ufsc.labsec.signature.signer.SignatureContainer
getEncoded, getFirstSignature, getLastSignature, getSignatureAt, isEmpty, stream
-
Field Details
-
signatureBytes
protected byte[] signatureBytesBytes da assinatura -
cmsSignedData
protected org.bouncycastle.cms.CMSSignedData cmsSignedDataO arquivo assinado -
contentToBeSigned
protected byte[] contentToBeSignedO conteúdo assinado -
signatures
-
-
Constructor Details
-
Asn1SignatureContainer
public Asn1SignatureContainer(byte[] signatureBytes, byte[] contentToBeSigned) throws CadesSignatureExceptionInstancia oSignatureContainer
a partir de umCMSSignedData
e do conteúdo assinado.- Parameters:
signatureBytes
- Bytes da assinaturacontentToBeSigned
- O conteúdo assinado- Throws:
CadesSignatureException
- Exceção em caso de erro na criação do contêiner
-
Asn1SignatureContainer
public Asn1SignatureContainer(org.bouncycastle.cms.CMSSignedData cmsSignedData, byte[] contentToBeSigned) throws CadesSignatureException- Throws:
CadesSignatureException
-
Asn1SignatureContainer
public Asn1SignatureContainer(org.bouncycastle.cms.CMSSignedData cmsSignedData) throws CadesSignatureExceptionInstancia oSignatureContainer
a partir de umCMSSignedData
.- Parameters:
cmsSignedData
- Representa o contêiner de assinaturas- Throws:
CadesSignatureException
-
Asn1SignatureContainer
Instancia oSignatureContainer
a partir dos bytes da assinatura com o conteúdo anexado.- Parameters:
signatureBytes
- Bytes do arquivo da assinatura- Throws:
CadesSignatureException
- Exceção em caso de erro na criação do contêiner
-
-
Method Details
-
initializeSignatures
protected abstract void initializeSignatures() -
getCertificateStore
public org.bouncycastle.util.Store<org.bouncycastle.cert.X509CertificateHolder> getCertificateStore()Retorna os certificados utilizados para assinatura no arquivo- Returns:
- Um objeto
Store
com os certificados
-
getCrls
public org.bouncycastle.util.Store<org.bouncycastle.cert.X509CRLHolder> getCrls()Retorna a lista de certificados revogados- Returns:
- A lista de certificados revogados
-
getSignatureCount
public int getSignatureCount()Retorna a quantidade de assinaturas no arquivo, desconsiderando contra-assinaturas- Specified by:
getSignatureCount
in interfaceSignatureContainer<Sig>
- Returns:
- A quantidade de assinaturas no arquivo
-
encode
Escreve a assinatura, já codificada para seu formato, noOutputStream
desejado- Specified by:
encode
in interfaceSignatureContainer<Sig>
- Parameters:
outputStream
- O stream que conterá a assinatura- Throws:
EncodingException
- Exceção em caso de erro na transformaçãoIOException
-
hasDetachedContent
public boolean hasDetachedContent()Verifica se o arquivo possui assinatura com conteúdo destacado- Specified by:
hasDetachedContent
in interfaceSignatureContainer<Sig>
- Returns:
- Indica se o arquivo possui conteúdo destacado
-
replaceChildSignature
public void replaceChildSignature(org.bouncycastle.cms.SignerInformation signerToReplace)Substitui o primeiro assinante que tiver o mesmo identificador do assinante passado como parâmetro.- Specified by:
replaceChildSignature
in interfaceCmsParent<Sig>
- Parameters:
signerToReplace
- O assinante a ser substituído
-
getSignedData
public org.bouncycastle.cms.CMSSignedData getSignedData()Retorna uma representação do contêiner de assinaturas.- Specified by:
getSignedData
in interfaceCmsParent<Sig>
- Returns:
- O objeto
CMSSignedData
-
getSignedContent
Retorna uma representação do contêiner de assinaturas.- Specified by:
getSignedContent
in interfaceCmsParent<Sig>
- Returns:
- O objeto
CMSSignedData
- Throws:
CadesSignatureException
-
setSignedContent
Define qual foi o conteúdo assinado que será usado na verificação da assinatura.- Parameters:
signedContent
- O arquivo que contém o conteúdo que foi assinado- Throws:
PbadException
- Exceção em caso de erro ao decodificar a assinatura
-
setSignedContent
Define qual foi o conteúdo assinado que será usado na verificação da assinatura.- Parameters:
signedContent
- Bytes do conteúdo que foi assinado- Throws:
PbadException
- Exceção em caso de erro ao decodificar a assinatura
-
getContentToBeSigned
public byte[] getContentToBeSigned()Retorna os bytes do conteúdo assinado- Specified by:
getContentToBeSigned
in interfaceCmsParent<Sig>
- Returns:
- Os bytes do conteúdo assinado
-
getContainer
Retorna o contêiner de assinatura- Specified by:
getContainer
in interfaceCmsParent<Sig>
- Returns:
- O contêiner de assinatura
-
iterator
-