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
Fields Modifier and Type Field Description static ThreadLocal<List<CleanRoutine>>cleanRoutines -
Constructor Summary
Constructors Constructor Description Application()Application(AbstractComponentConfiguration componentConfiguration)Application(AbstractComponentConfiguration componentConfiguration, Queue<SignatureWrapper> signatureWrappers)Application(String configurationPath)Inicializador da aplicação.Application(Queue<SignatureWrapper> signatureWrappers) -
Method Summary
Modifier and Type Method Description static voidclean()voidcopyComponentsFieldsFrom(Application app)InitialReportcreateInitialReport(VerifierParams params, SignatureWrapper byteWrapper, boolean isReceipt)static voiddefaultCleanerRoutine(Object object)Optional<ReceiptBundle>emitReceipt(List<Report> reports)Emite um recibo para os relatórios passadosSignatureWrapperextend(SignatureWrapper wrapper, int signatureIndex, Profile.AdESType type, Profile.AdESLevel level, Optional<TsaInfo.TsaAuthInfo> tsaAuthInfo)<T extends Component>
TgetComponent(Class<T> clazz)ObjectgetComponentParam(Class<? extends Component> component, String name)Retorna um parâmetro especifico para algum componenteAbstractComponentConfigurationgetConfiguration()Optional<TsaInfo.TsaAuthInfo>getTsaAuthInfo()SignatureBundlegetUpdatedSignatures()VerifiergetVerifierType(FileType verifierType)Responsável por selecionar o verificador específico para o tipo de arquivo da verificação (Pades, Cades, Xades ou Jades)booleanisProfileVerification()booleanisVerificationPackage()booleanonUnrestrictedAttrVerification()VerifierParamsparams()voidreportError(Exception e)Trata uma exceção ocorrida em um componente.voidsetTrustAnchors(Set<TrustAnchor> trustAnchors)Define as âncoras de confiançabooleansetup()Instancia e conecta os componentes.SignatureWrappersign(FileToBeSigned<?> fileToBeSigned, SignerParameters params)SignatureWrapperstamp(SignatureWrapper wrapper, int signatureIndex, String attribute, Profile.AdESType type, Optional<TsaInfo.TsaAuthInfo> tsaAuthInfo)voidverify(List<Report> reports, VerifierParams params)Verifica os arquivos de assinatura e gera os relatórios.booleanwillVerifyNotAnchored()booleanwithReturnArtifacts()
-
Field Details
-
cleanRoutines
-
-
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, Queue<SignatureWrapper> signatureWrappers)
-
-
Method Details
-
copyComponentsFieldsFrom
-
isVerificationPackage
public boolean isVerificationPackage() -
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 SignatureWrapper sign(FileToBeSigned<?> fileToBeSigned, SignerParameters params) throws CertificationPathException, br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException- Throws:
CertificationPathExceptionbr.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
-
extend
public SignatureWrapper extend(SignatureWrapper wrapper, int signatureIndex, Profile.AdESType type, Profile.AdESLevel level, Optional<TsaInfo.TsaAuthInfo> tsaAuthInfo) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, PbadException, IOException- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerExceptionPbadExceptionIOException
-
stamp
public SignatureWrapper stamp(SignatureWrapper wrapper, int signatureIndex, String attribute, Profile.AdESType type, Optional<TsaInfo.TsaAuthInfo> tsaAuthInfo) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, PbadException, IOException- Throws:
br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerExceptionPbadExceptionIOException
-
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)
-
getTsaAuthInfo
-
params
-
willVerifyNotAnchored
public boolean willVerifyNotAnchored() -
onUnrestrictedAttrVerification
public boolean onUnrestrictedAttrVerification() -
isProfileVerification
public boolean isProfileVerification() -
withReturnArtifacts
public boolean withReturnArtifacts() -
createInitialReport
public InitialReport createInitialReport(VerifierParams params, SignatureWrapper 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
-
defaultCleanerRoutine
-
clean
public static void clean()
-