Class AttributeIncluder<Info extends ExtraInformation, Encod, Sig extends Signature<Encod>>
java.lang.Object
br.ufsc.labsec.signature.AttributeIncluder<Info,Encod,Sig>
- Direct Known Subclasses:
CadesAttributeIncluder, JadesAttributeIncluder, PadesAttributeIncluder, XadesAttributeIncluder
public abstract class AttributeIncluder<Info extends ExtraInformation, Encod, Sig extends Signature<Encod>>
extends Object
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classstatic interface -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanaddAttribute(Sig signature, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info, Encod, Sig> factory) Adiciona um atributo não assinado à assinaturaaddAttributesFromPolicy(Sig signature, SignatureContainer<Sig> container) Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir a política de assinaturaaddAttributesFromProfile(Sig signature, SignatureContainer<Sig> container, Profile.AdESLevel level) Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir o perfil desejadoprotected voidaddMissingUnsignedAttributes(Sig signature, SignatureContainer<Sig> container, Collection<String> attributes, SignerType signerType) Adiciona os atributos não assinados que estão faltando na assinaturabooleanaddUnsignedAttributes(FileToBeSigned<? extends Info> fileToBeSigned, Sig signature) booleanaddUnsignedAttributes(List<String> unsignedAttributes, FileToBeSigned fileToBeSigned, Sig signature) byte[]extendSignature(SignatureWrapper wrapper, int signatureIndex, Profile.AdESLevel level) byte[]extendSignature(Sig signature, SignatureContainer<Sig> container, Profile.AdESLevel level) Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir determinado perfilprotected FileToBeSigned<? extends Info> generateFileToBeSigned(Sig signature, SignatureContainer<Sig> container, SignerType signerType, FileFormat fileFormat) Gera o arquivo a ser assinadoprotected abstract AttributeFactory<Info, Encod, Sig> protected abstract Infoprotected abstract KeyStoreInformationgetKeyStoreInformation(Sig signature) protected abstract AttributeIncluder.AttributesReplacementRulesprotected abstract Stringprotected voidreplaceAttribute(Sig signature, int index, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info, Encod, Sig> factory) protected booleanreplaceAttributes(Sig signature, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info, Encod, Sig> factory, List<String> previousUnsignedList, List<String> addedAttributes) byte[]stampSignature(SignatureWrapper wrapper, int signatureIndex, String attribute) byte[]stampSignature(Sig signature, SignatureContainer<Sig> container, String attribute) protected abstract SignatureContainer<Sig> wrapperToContainer(SignatureWrapper wrapper)
-
Constructor Details
-
AttributeIncluder
-
-
Method Details
-
extendSignature
public byte[] extendSignature(SignatureWrapper wrapper, int signatureIndex, Profile.AdESLevel level) throws PbadException, IOException - Throws:
PbadExceptionIOException
-
extendSignature
public byte[] extendSignature(Sig signature, SignatureContainer<Sig> container, Profile.AdESLevel level) throws PbadException, IOException Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir determinado perfil- Parameters:
signature- a assinaturacontainer- o contêiner da assinaturalevel- o nível do perfil desejado- Throws:
PbadException- caso ocorra algum erro ao adicionar os atributosIOException
-
addAttributesFromProfile
public Collection<String> addAttributesFromProfile(Sig signature, SignatureContainer<Sig> container, Profile.AdESLevel level) throws PbadException Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir o perfil desejado- Parameters:
signature- a assinaturacontainer- o contêiner da assinaturalevel- o nível do perfil desejado- Returns:
- os atributos que foram adicionados
- Throws:
PbadException- caso ocorra algum erro ao adicionar os atributos
-
addAttributesFromPolicy
public Collection<String> addAttributesFromPolicy(Sig signature, SignatureContainer<Sig> container) throws PbadException, IOException Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir a política de assinatura- Parameters:
signature- a assinaturacontainer- o contêiner da assinatura- Returns:
- os atributos que foram adicionados
- Throws:
PbadException- caso ocorra algum erro ao adicionar os atributosIOException
-
stampSignature
public byte[] stampSignature(SignatureWrapper wrapper, int signatureIndex, String attribute) throws PbadException, IOException - Throws:
PbadExceptionIOException
-
stampSignature
public byte[] stampSignature(Sig signature, SignatureContainer<Sig> container, String attribute) throws PbadException, IOException - Throws:
PbadExceptionIOException
-
addMissingUnsignedAttributes
protected void addMissingUnsignedAttributes(Sig signature, SignatureContainer<Sig> container, Collection<String> attributes, SignerType signerType) throws PbadException Adiciona os atributos não assinados que estão faltando na assinatura- Parameters:
signature- a assinaturacontainer- o contêiner da assinaturaattributes- os atributos não assinados que estão faltandosignerType- o tipo de assinante- Throws:
PbadException- caso ocorra algum erro ao adicionar os atributos
-
addUnsignedAttributes
public boolean addUnsignedAttributes(FileToBeSigned<? extends Info> fileToBeSigned, Sig signature) throws SignatureAttributeException - Parameters:
fileToBeSigned-signature-- Returns:
- true if ANY attribute has been successfully added.
- Throws:
SignatureAttributeException
-
addUnsignedAttributes
public boolean addUnsignedAttributes(List<String> unsignedAttributes, FileToBeSigned fileToBeSigned, Sig signature) throws SignatureAttributeException - Parameters:
unsignedAttributes-fileToBeSigned-signature-- Returns:
- true if ANY attribute has been successfully added.
- Throws:
SignatureAttributeException
-
generateFileToBeSigned
protected FileToBeSigned<? extends Info> generateFileToBeSigned(Sig signature, SignatureContainer<Sig> container, SignerType signerType, FileFormat fileFormat) throws PbadException Gera o arquivo a ser assinado- Parameters:
signature- a assinaturacontainer- o contêiner da assinaturasignerType- o tipo de assinantefileFormat- o formato do arquivo- Returns:
- o arquivo a ser assinado
- Throws:
PbadException- caso ocorra algum erro ao gerar o arquivo
-
addAttribute
protected boolean addAttribute(Sig signature, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info, Encod, throws SignatureAttributeExceptionSig> factory) Adiciona um atributo não assinado à assinatura- Parameters:
signature- a assinaturaattribute- o atributo a ser adicionadofileToBeSigned- o arquivo a ser assinadofactory- a fábrica de atributos- Throws:
PbadException- caso ocorra algum erro ao adicionar o atributoSignatureAttributeException
-
replaceAttribute
protected void replaceAttribute(Sig signature, int index, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info, Encod, throws PbadExceptionSig> factory) - Throws:
PbadException
-
replaceAttributes
protected boolean replaceAttributes(Sig signature, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info, Encod, throws PbadExceptionSig> factory, List<String> previousUnsignedList, List<String> addedAttributes) - Throws:
PbadException
-
wrapperToContainer
protected abstract SignatureContainer<Sig> wrapperToContainer(SignatureWrapper wrapper) throws PbadException - Throws:
PbadException
-
getValidTimeStampAttribute
-
getKeyStoreInformation
-
getExtraInformation
-
getAttributeFactory
-
getReplacementRules
-
getComponent
-