Package br.ufsc.labsec.signature
Class SignerRequest<Info extends ExtraInformation>
java.lang.Object
br.ufsc.labsec.signature.SignerRequest<Info>
public class SignerRequest<Info extends ExtraInformation> extends Object
Representa a montagem de uma requisição de assinatura(s) em documento(s)
Os valores obrigatórios passados são:
- Nome do arquivo recebido pela requisição
- InputStream do documento a ser assinado
- Informações do KeyStore para realização da assinatura
- Tipo de assinatura a ser realizada
- Formato da assinatura a ser realizada
- Suite de assinatura a ser utilizada
sign()
é uma lista de SignatureDataWrapper
dos documentos passados por parâmetro de uma requisição-
Field Summary
Fields Modifier and Type Field Description protected Application
app
Aplicação responsável pelo o funcionamento do do Signer e do Verifier (ou algum gerado para teste)protected List<byte[]>
attributeCertificates
Valor opcional da lista de certificados de atributo para serem utilizados na assinaturaprotected static AbstractComponentConfiguration
configuration
Configuração definida automaticamente ou definida pelo usuário para o componente de assinaturaprotected Info
extraInformation
Valor opcional para informações extras a serem passadas para a assinatura (rua, cidade, codigo postal, pais e etc.)protected String
filename
Indica o nome do arquivo recebido pela requisiçãoprotected List<jakarta.servlet.http.Part>
files
Valor obrigatorio para chamada do métodosign()
.protected FileToBeSigned<? extends ExtraInformation>
fileToBeSigned
Arquivo a ser assinado gerado a partir da dos bytes lidos para cada arquivo selecionadoprotected FileFormat
format
Formato da assinatura a ser realizada (attached, detached, internally_detached, enveloped)protected KeyStoreInformation
ksInfo
Informações da KeyStore para realização da assinaturaprotected SignerParameters
parameters
Parâmetros passados para a requisição de assinaturaprotected SignerType
policy
Tipo de assinatura a ser realizada (CMS, PDF, XML, JSON, CAdES, PAdES, XAdES ou JAdES)protected List<String>
signedAttributes
Valores opcionais para caso de assinatura com escolha livre de atributos são passados separadamente os atributos assinados e não assinados para realização da assinaturaprotected String
signerType
Valor do tipo de assinatura definido na requisição dentre as simples e avançadas.protected String
suite
Suite de assinatura a ser utilizada a partir das possíveis na classe SingletonSuiteMapperprotected InputStream
toBeSigned
ArrayInputStream do documento a ser assinadoprotected List<String>
unsignedAttributes
-
Constructor Summary
Constructors Constructor Description SignerRequest()
-
Method Summary
-
Field Details
-
configuration
Configuração definida automaticamente ou definida pelo usuário para o componente de assinatura -
app
Aplicação responsável pelo o funcionamento do do Signer e do Verifier (ou algum gerado para teste) -
parameters
Parâmetros passados para a requisição de assinatura -
files
Valor obrigatorio para chamada do métodosign()
. -
filename
Indica o nome do arquivo recebido pela requisição -
toBeSigned
ArrayInputStream do documento a ser assinado -
ksInfo
Informações da KeyStore para realização da assinatura -
policy
Tipo de assinatura a ser realizada (CMS, PDF, XML, JSON, CAdES, PAdES, XAdES ou JAdES) -
format
Formato da assinatura a ser realizada (attached, detached, internally_detached, enveloped) -
suite
Suite de assinatura a ser utilizada a partir das possíveis na classe SingletonSuiteMapper -
signerType
Valor do tipo de assinatura definido na requisição dentre as simples e avançadas. -
signedAttributes
Valores opcionais para caso de assinatura com escolha livre de atributos são passados separadamente os atributos assinados e não assinados para realização da assinatura -
unsignedAttributes
-
attributeCertificates
Valor opcional da lista de certificados de atributo para serem utilizados na assinatura -
fileToBeSigned
Arquivo a ser assinado gerado a partir da dos bytes lidos para cada arquivo selecionado -
extraInformation
Valor opcional para informações extras a serem passadas para a assinatura (rua, cidade, codigo postal, pais e etc.)
-
-
Constructor Details
-
SignerRequest
public SignerRequest()
-
-
Method Details
-
fileExtension
Retorna a extensão de arquivo relacionada com o tipo de assinatura- Parameters:
sigPol
- A política da assinatura- Returns:
- A extensão de arquivo
- Throws:
SignatureException
-
setExtraInformation
-
setFilename
-
setFiles
-
setSignerType
-
setParameters
-
withParameters
public SignerRequest<Info> withParameters(SignerParameters parameters, KeyStoreInformation ksInfo, List<jakarta.servlet.http.Part> files)Seta todos os parâmetros da requisição para a futura realização da assinatura. No momento da assinatura, a classe possui todas as informações necessárias -
setToBeSigned
-
withApplication
-
setKeyStoreInformation
-
setPolicy
-
setFormat
-
setSuite
-
setSignedAttributes
-
setUnsignedAttributes
-
withConfiguration
-
build
Retorna um objetoSignatureRequest
com os valores passados utilizado para realizar requisições de assinatura- Throws:
IllegalArgumentException
IOException
-
sign
public List<SignatureDataWrapper> sign() throws SignerException, IOException, CertificationPathException, XPathExpressionException, ParserConfigurationException, SAXException, SignatureException, VerificationExceptionFunção estática auxiliar para todos os endpoints assinarem utilizando a mesma estrutura- Throws:
CertificationPathException
- Se houver alguma exceção no caminho de certificaçãoSignerException
- Se houver algum erro ao assinar o documentoIOException
- Se não conseguir gerar o arquivo e/ou pegar writer de requestXPathExpressionException
- Se houver algum erro ao executar a expressão XPathParserConfigurationException
- Se houver algum erro ao configurar o parserSAXException
- Se houver algum erro ao fazer o parse do XMLSignatureException
- Se houver algum erro ao assinar o documentoVerificationException
-
getFilename
-
getToBeSigned
-
getKeyStoreInformation
-
getPolicy
-
getFormat
-
getSuite
-
getSignedAttributes
-
getUnsignedAttributes
-
getAttributeCertificates
-
getExtraInformation
-