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.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Application()
Application(boolean needsDownloadTrustAnchors)
Inicializador contendo somente o needsDownloadTrustAnchor, para ser executado na inicialização dos servlets e, apenas dessa maneira fazer download das âncoras de confiançaApplication(AbstractComponentConfiguration componentConfiguration, boolean downloadTrustAnchors)
Application(AbstractComponentConfiguration componentConfiguration, List<SignatureDataWrapper> signatureWrapperList)
Application(String configurationPath)
Inicializador da aplicação.Application(String[] args)
Inicializador da aplicação.Application(List<SignatureDataWrapper> signatureWrapperList)
-
Method Summary
Modifier and Type Method Description Optional<ReceiptBundle>
emitReceipt(List<Report> reports)
Emite um recibo para os relatórios passados<T extends Component>
TgetComponent(Class<T> clazz)
Object
getComponentParam(Class<? extends Component> component, String name)
Retorna um parâmetro especifico para algum componenteboolean
getDownloadTrustAnchors()
Método para ter acesso à variável downloadTrustAnchorsString
getStringParameter(String parameterName)
Método para acessar os parâmetros passados para a aplicação.Verifier
getVerifierType(Report.FileType verifierType)
Responsável por selecionar o verificador específico para o tipo de arquivo da verificação (Pades, Cades ou Xades)boolean
isProfileOnly()
boolean
onUnrestrictedAttrVerification()
void
reportError(Exception e)
Trata uma exceção ocorrida em um componente.void
setDownloadTrustAnchors(boolean value)
Método para mudar o valor da variável downloadTrustAnchorsvoid
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)
void
verify(List<Report> reports, boolean verifyIncremental, boolean isComplete, boolean verifyNotAnchored, boolean unrestrictedAttrVerification, boolean profileOnly)
Verifica os arquivos de assinatura e gera os relatórios.boolean
willVerifyNotAnchored()
-
Field Details
-
logger
-
-
Constructor Details
-
Application
Inicializador da aplicação. Os parâmetros recebidos em main devem ser passados como args. O primeiro argumento sempre deve ser o endereço de onde está o arquivo de configuração dos componentes.- Parameters:
args
- - argumentos da aplicação.- See Also:
ComponentConfiguration
-
Application
public Application(boolean needsDownloadTrustAnchors)Inicializador contendo somente o needsDownloadTrustAnchor, para ser executado na inicialização dos servlets e, apenas dessa maneira fazer download das âncoras de confiança- Parameters:
needsDownloadTrustAnchors
-
-
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
public Application(AbstractComponentConfiguration componentConfiguration, boolean downloadTrustAnchors) -
Application
-
Application
public Application(AbstractComponentConfiguration componentConfiguration, List<SignatureDataWrapper> signatureWrapperList)
-
-
Method Details
-
setDownloadTrustAnchors
public void setDownloadTrustAnchors(boolean value)Método para mudar o valor da variável downloadTrustAnchors- Parameters:
value
- novo valor de downloadTrustAnchors
-
getDownloadTrustAnchors
public boolean getDownloadTrustAnchors()Método para ter acesso à variável downloadTrustAnchors- Returns:
- boolean se deve baixar as âncoras de confiança ou não
-
setup
public boolean setup()Instancia e conecta os componentes.- Returns:
- Verdadeiro se os componentes foram inicializados com sucesso.
-
getStringParameter
Método para acessar os parâmetros passados para a aplicação.- Parameters:
parameterName
- Nome do parâmetro. Os parâmetros são considerados em pares nome-valor- Returns:
- Retorna o valor do parâmtro
-
getComponentParam
Retorna um parâmetro especifico para algum componente- Parameters:
component
- Classe do componentename
- Nome do parâmetro- Returns:
- Valor do parâmetro
-
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) throws CertificationPathException, SignerException -
getVerifierType
Responsável por selecionar o verificador específico para o tipo de arquivo da verificação (Pades, Cades ou Xades)- Parameters:
verifierType
- tipo de arquivo de verificação- Returns:
- Verificador do tipo selecionado (Pades/Cades/Xades)
-
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
-
willVerifyNotAnchored
public boolean willVerifyNotAnchored() -
onUnrestrictedAttrVerification
public boolean onUnrestrictedAttrVerification() -
isProfileOnly
public boolean isProfileOnly() -
verify
public void verify(List<Report> reports, boolean verifyIncremental, boolean isComplete, boolean verifyNotAnchored, boolean unrestrictedAttrVerification, boolean profileOnly) throws InterruptedExceptionVerifica 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çãoverifyIncremental
- Se deve fazer verificação incremental em arquivos PDFisComplete
- Se o relatório deve ser completo ou simplesverifyNotAnchored
- se assinaturas não-ancoradas serão verificadasunrestrictedAttrVerification
- se vai verificar os atributos, independentemente do resultado do caminho de certificaçã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 requisicao do recibo
-