Class CadesSigner
java.lang.Object
br.ufsc.labsec.signature.CompleteSigner<CadesInformation,org.bouncycastle.asn1.cms.Attribute,CadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.cades.AbstractCadesSigner
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesSigner
- All Implemented Interfaces:
CoSigner<CadesInformation>
,CounterSigner<CadesInformation>
,Signer<CadesInformation>
,ContainerBuilder<CadesInformation,org.bouncycastle.asn1.cms.Attribute,CadesSignature>
public class CadesSigner extends AbstractCadesSigner
Esta classe cria uma assinatura CAdES em um documento.
-
Nested Class Summary
Nested classes/interfaces inherited from class br.ufsc.labsec.signature.CompleteSigner
CompleteSigner.Mode
-
Field Summary
Fields inherited from class br.ufsc.labsec.signature.conformanceVerifier.cades.AbstractCadesSigner
fileToBeSigned, signature
Fields inherited from class br.ufsc.labsec.signature.CompleteSigner
attributeFactory, signatureContainer
-
Constructor Summary
Constructors Constructor Description CadesSigner(CadesSignatureComponent cadesSignature)
-
Method Summary
Modifier and Type Method Description SignatureContainer<CadesSignature>
buildContainer(byte[] bytes)
boolean
canCoSign(FileToBeSigned<? extends CadesInformation> signerInformation)
Verifica se o arquivo pode ser co-assinado.boolean
canCounterSign(FileToBeSigned<? extends CadesInformation> signerInformation)
boolean
coSign(FileToBeSigned<? extends CadesInformation> signerInformation)
Realiza a co-assinatura, aproveitando-se da estrutura da assinatura já existente e utilizando o método original de assinatura simples.String
getCounterSignatureIdentifier()
CadesSignature
getLastSignature(FileToBeSigned<? extends CadesInformation> fileToBeSigned)
boolean
simpleSign(FileToBeSigned<? extends CadesInformation> fileToBeSigned)
Realiza a assinaturaboolean
supports(FileToBeSigned<? extends CadesInformation> fileToBeSigned)
Método abstrato para verificar se o assinador suporta o arquivo a ser assinado.Methods inherited from class br.ufsc.labsec.signature.conformanceVerifier.cades.AbstractCadesSigner
getComponent, getPoliciesAvailable, getSignedAttributesAvailable, getUnsignedAttributesAvailable
Methods inherited from class br.ufsc.labsec.signature.CompleteSigner
counterSign, getSignature, getSignature, getSignatureStream, save, sign
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface br.ufsc.labsec.signature.signer.common.ContainerBuilder
buildContainer
Methods inherited from interface br.ufsc.labsec.signature.Signer
supportsCertPath
-
Constructor Details
-
CadesSigner
-
-
Method Details
-
simpleSign
public boolean simpleSign(FileToBeSigned<? extends CadesInformation> fileToBeSigned) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerExceptionRealiza a assinatura- Returns:
- Valor verdade representando se a assinatura foi gerada corretamente.
- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
-
supports
public boolean supports(FileToBeSigned<? extends CadesInformation> fileToBeSigned) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, CertificationPathExceptionDescription copied from class:CompleteSigner
Método abstrato para verificar se o assinador suporta o arquivo a ser assinado.- Specified by:
supports
in interfaceSigner<CadesInformation>
- Specified by:
supports
in classCompleteSigner<CadesInformation,org.bouncycastle.asn1.cms.Attribute,CadesSignature>
- Parameters:
fileToBeSigned
- O arquivo a ser assinado.- Returns:
- Verdadeiro se o assinador suporta o arquivo a ser assinado, falso caso contrário.
- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
- Exceção em caso de erro no assinador.CertificationPathException
- Exceção em caso de erro na cadeia de certificação.
-
canCoSign
Verifica se o arquivo pode ser co-assinado. Isso não será possível se a mensagem já for assinada ou a assinatura for detached. A verificação tem como base a assinatura presente no container.- Returns:
- Valor verdade indicando se o arquivo pode ser co-assinado.
-
coSign
public boolean coSign(FileToBeSigned<? extends CadesInformation> signerInformation) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerExceptionRealiza a co-assinatura, aproveitando-se da estrutura da assinatura já existente e utilizando o método original de assinatura simples. Para isso, é necessário concatenar as assinaturas, certificados, certificados de atributos e listas de revogação, sendo esses substituídos no final do método.- Parameters:
signerInformation
- Informações do arquivo a ser assinadoFileToBeSigned
- Returns:
- Indica se a co-assinatura foi realizada com sucesso.
- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
-
canCounterSign
-
buildContainer
-
getCounterSignatureIdentifier
-
getLastSignature
public CadesSignature getLastSignature(FileToBeSigned<? extends CadesInformation> fileToBeSigned) throws SignatureAttributeException- Throws:
SignatureAttributeException
-