Package br.ufsc.labsec.signature
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 Classes Modifier and Type Class Description protected static class
AttributeIncluder.AttributesReplacementRules
static interface
AttributeIncluder.ReplacementRule
-
Constructor Summary
Constructors Constructor Description AttributeIncluder(SignatureComponent component)
-
Method Summary
Modifier and Type Method Description protected void
addAttribute(Sig signature, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info,Encod,Sig> factory)
Adiciona um atributo não assinado à assinaturaCollection<String>
addAttributesFromPolicy(Sig signature, SignatureContainer<Sig> container)
Adiciona os atributos não assinados que estão faltando na assinatura para ela atingir a política de assinaturaCollection<String>
addAttributesFromProfile(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 void
addMissingUnsignedAttributes(Sig signature, SignatureContainer<Sig> container, Collection<String> attributes, SignerType signerType)
Adiciona os atributos não assinados que estão faltando na assinaturabyte[]
extendSignature(SignatureBytesWrapper 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>
getAttributeFactory()
SignatureComponent
getComponent()
protected abstract Info
getExtraInformation()
protected abstract KeyStoreInformation
getKeyStoreInformation(Sig signature)
protected abstract AttributeIncluder.AttributesReplacementRules
getReplacementRules()
protected abstract String
getValidTimeStampAttribute()
protected void
replaceAttribute(Sig signature, int index, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info,Encod,Sig> factory)
protected void
replaceAttributes(Sig signature, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info,Encod,Sig> factory, List<String> previousUnsignedList, List<String> addedAttributes)
byte[]
stampSignature(SignatureBytesWrapper wrapper, int signatureIndex, String attribute)
byte[]
stampSignature(Sig signature, SignatureContainer<Sig> container, String attribute)
protected abstract SignatureContainer<Sig>
wrapperToContainer(SignatureBytesWrapper wrapper)
-
Constructor Details
-
AttributeIncluder
-
-
Method Details
-
extendSignature
public byte[] extendSignature(SignatureBytesWrapper wrapper, int signatureIndex, Profile.AdESLevel level) throws PbadException, IOException- Throws:
PbadException
IOException
-
extendSignature
public byte[] extendSignature(Sig signature, SignatureContainer<Sig> container, Profile.AdESLevel level) throws PbadException, IOExceptionAdiciona 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 PbadExceptionAdiciona 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, IOExceptionAdiciona 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(SignatureBytesWrapper wrapper, int signatureIndex, String attribute) throws PbadException, IOException- Throws:
PbadException
IOException
-
stampSignature
public byte[] stampSignature(Sig signature, SignatureContainer<Sig> container, String attribute) throws PbadException, IOException- Throws:
PbadException
IOException
-
addMissingUnsignedAttributes
protected void addMissingUnsignedAttributes(Sig signature, SignatureContainer<Sig> container, Collection<String> attributes, SignerType signerType) throws PbadExceptionAdiciona 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
-
generateFileToBeSigned
protected FileToBeSigned<? extends Info> generateFileToBeSigned(Sig signature, SignatureContainer<Sig> container, SignerType signerType, FileFormat fileFormat) throws PbadExceptionGera 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 void addAttribute(Sig signature, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info,Encod,Sig> factory) throws PbadExceptionAdiciona 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 atributo
-
replaceAttribute
protected void replaceAttribute(Sig signature, int index, String attribute, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info,Encod,Sig> factory) throws PbadException- Throws:
PbadException
-
replaceAttributes
protected void replaceAttributes(Sig signature, FileToBeSigned<? extends Info> fileToBeSigned, AttributeFactory<Info,Encod,Sig> factory, List<String> previousUnsignedList, List<String> addedAttributes) throws PbadException- Throws:
PbadException
-
wrapperToContainer
protected abstract SignatureContainer<Sig> wrapperToContainer(SignatureBytesWrapper wrapper) throws PbadException- Throws:
PbadException
-
getValidTimeStampAttribute
-
getKeyStoreInformation
-
getExtraInformation
-
getAttributeFactory
-
getReplacementRules
-
getComponent
-