Package br.ufsc.labsec.component
Class Application
java.lang.Object
br.ufsc.labsec.component.Application
public class Application extends Object
Representa a aplicação que é composta por componentes. Contém também o
suporte para o acesso aos parâmetros da aplicação e dos componentes.
-
Constructor Summary
Constructors Constructor Description Application()
Application(AbstractComponentConfiguration componentConfiguration)
Application(AbstractComponentConfiguration componentConfiguration, List<SignatureDataWrapper> signatureWrapperList)
Application(String configurationPath)
Inicializador da aplicação.Application(List<SignatureDataWrapper> signatureWrapperList)
-
Method Summary
Modifier and Type Method Description org.apache.commons.lang3.tuple.Pair<SignatureContainer<?>,InitialReport>
createContainerAndInitialReport(VerifierParams params, SignatureBytesWrapper byteWrapper, boolean isReceipt)
Optional<ReceiptBundle>
emitReceipt(List<Report> reports)
Emite um recibo para os relatórios passadosSignatureDataWrapper
extend(SignatureDataWrapper wrapper, int signatureIndex, Profile.AdESType type, Profile.AdESLevel level)
<T extends Component>
TgetComponent(Class<T> clazz)
Object
getComponentParam(Class<? extends Component> component, String name)
Retorna um parâmetro especifico para algum componenteAbstractComponentConfiguration
getConfiguration()
Optional<SignerParameters>
getSignerParams()
SignatureBundle
getUpdatedSignatures()
Verifier
getVerifierType(FileType verifierType)
Responsável por selecionar o verificador específico para o tipo de arquivo da verificação (Pades, Cades, Xades ou Jades)boolean
isProfileVerification()
boolean
onUnrestrictedAttrVerification()
VerifierParams
params()
void
reportError(Exception e)
Trata uma exceção ocorrida em um componente.void
setSignatureWrappers(InputStream signature, InputStream detached, String filename)
Utilizado para remover todos os elementos e adicionar novamente na lista de wrappers de assinaturavoid
setTrustAnchors(Set<TrustAnchor> trustAnchors)
Define as âncoras de confiançaboolean
setup()
Instancia e conecta os componentes.SignatureDataWrapper
sign(FileToBeSigned<?> fileToBeSigned, SignerParameters params)
SignatureDataWrapper
stamp(SignatureDataWrapper wrapper, int signatureIndex, String attribute, Profile.AdESType type)
void
verify(List<Report> reports, VerifierParams params)
Verifica os arquivos de assinatura e gera os relatórios.boolean
willVerifyNotAnchored()
boolean
withReturnArtifacts()
-
Constructor Details
-
Application
public Application() -
Application
Inicializador da aplicação.- Parameters:
configurationPath
- - caminho do arquivo de configuração da aplicação- Throws:
FileNotFoundException
- É lançada se o arquivo de configuração não for encontrado.
-
Application
-
Application
-
Application
public Application(AbstractComponentConfiguration componentConfiguration, List<SignatureDataWrapper> signatureWrapperList)
-
-
Method Details
-
setup
public boolean setup()Instancia e conecta os componentes.- Returns:
- Verdadeiro se os componentes foram inicializados com sucesso.
-
getComponentParam
Retorna um parâmetro especifico para algum componente- Parameters:
component
- Classe do componentename
- Nome do parâmetro- Returns:
- Valor do parâmetro
-
getUpdatedSignatures
-
reportError
Trata uma exceção ocorrida em um componente. O erro será repassado para os componentes registrados como tratadores de erros e os demais componentes serão reiniciados para que o erro não faça com que os componentes fiquem em algum estado inválido.- Parameters:
e
- O erro que ocorreu
-
getComponent
-
setTrustAnchors
Define as âncoras de confiança- Parameters:
trustAnchors
- as âncoras de confiança
-
sign
public SignatureDataWrapper sign(FileToBeSigned<?> fileToBeSigned, SignerParameters params) throws CertificationPathException, br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException- Throws:
CertificationPathException
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
-
extend
public SignatureDataWrapper extend(SignatureDataWrapper wrapper, int signatureIndex, Profile.AdESType type, Profile.AdESLevel level) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, PbadException, IOException- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
PbadException
IOException
-
stamp
public SignatureDataWrapper stamp(SignatureDataWrapper wrapper, int signatureIndex, String attribute, Profile.AdESType type) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, PbadException, IOException- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
PbadException
IOException
-
getVerifierType
Responsável por selecionar o verificador específico para o tipo de arquivo da verificação (Pades, Cades, Xades ou Jades)- Parameters:
verifierType
- tipo de arquivo de verificação- Returns:
- Verificador do tipo selecionado (Pades/Cades/Xades/Jades)
-
setSignatureWrappers
Utilizado para remover todos os elementos e adicionar novamente na lista de wrappers de assinatura- Parameters:
signature
- Bytes da assinaturadetached
- Bytes do conteúdo destacadofilename
- Nome do arquivo de assinatura
-
getSignerParams
-
params
-
willVerifyNotAnchored
public boolean willVerifyNotAnchored() -
onUnrestrictedAttrVerification
public boolean onUnrestrictedAttrVerification() -
isProfileVerification
public boolean isProfileVerification() -
withReturnArtifacts
public boolean withReturnArtifacts() -
createContainerAndInitialReport
public org.apache.commons.lang3.tuple.Pair<SignatureContainer<?>,InitialReport> createContainerAndInitialReport(VerifierParams params, SignatureBytesWrapper byteWrapper, boolean isReceipt) -
verify
Verifica os arquivos de assinatura e gera os relatórios. Os relatórios são adicionados na lista passada como parâmetroEsse comportamento é devido ao timeout de verificação, permitindo a geração de relatórios parciais. Assim, o método necessita do envio da lista de relatórios ao invés de retorná-la
- Parameters:
reports
- Lista de relatórios de verificaçãoparams
- Parâmetros para a verificação- Throws:
InterruptedException
- Exceção lançada caso a verificação seja interrompida- See Also:
VerifierRequest
-
emitReceipt
Emite um recibo para os relatórios passados- Parameters:
reports
- Relatórios para os quais o recibo será emitido- Returns:
- Um pacote do recibo emitido contendo o recibo e a requisição do recibo
-
getConfiguration
-