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, signatureFields 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)booleancanCoSign(FileToBeSigned<? extends CadesInformation> signerInformation)Verifica se o arquivo pode ser co-assinado.booleancanCounterSign(FileToBeSigned<? extends CadesInformation> signerInformation)booleancoSign(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.StringgetCounterSignatureIdentifier()CadesSignaturegetLastSignature(FileToBeSigned<? extends CadesInformation> fileToBeSigned)booleansimpleSign(FileToBeSigned<? extends CadesInformation> fileToBeSigned)Realiza a assinaturabooleansupports(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, getUnsignedAttributesAvailableMethods inherited from class br.ufsc.labsec.signature.CompleteSigner
counterSign, getSignature, getSignature, getSignatureStream, save, signMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface br.ufsc.labsec.signature.signer.common.ContainerBuilder
buildContainerMethods 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:CompleteSignerMétodo abstrato para verificar se o assinador suporta o arquivo a ser assinado.- Specified by:
supportsin interfaceSigner<CadesInformation>- Specified by:
supportsin 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
-