Class SignaturePolicyProxy
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.signaturePolicy.SignaturePolicyProxy
- All Implemented Interfaces:
SignaturePolicyInterface
public class SignaturePolicyProxy extends Object implements SignaturePolicyInterface
Esta classe representa uma Política de Assinatura (PA). Uma PA é composta por três
atributos:
- o seu resumo criptográfico;
- o identificador do método usado para o seu resumo criptográfico;
- as informações da política de assinatura. Este contém vários outros atributos.
- o seu resumo criptográfico;
- o identificador do método usado para o seu resumo criptográfico;
- as informações da política de assinatura. Este contém vários outros atributos.
- See Also:
- RFC 3125
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SignaturePolicyProxy.SignaturePolicyType
-
Field Summary
Fields Modifier and Type Field Description protected SignaturePolicyInstance
signaturePolicy
Atributo de política de assinatura -
Constructor Summary
Constructors Constructor Description SignaturePolicyProxy()
ConstrutorSignaturePolicyProxy(SignaturePolicyComponent signaturePolicyComponent)
Construtor utilizado quando não tiver acesso a LPA, mas ter o artefato da PA desejada.SignaturePolicyProxy(String signaturePolicyUri)
Construtor utilizado quando não tiver acesso a LPA, mas ter o acesso a PA -
Method Summary
Modifier and Type Method Description void
clear()
Limpa a política da última verificaçãoboolean
doesSignerRulesContainsExtension(String oid)
Verifica se há regras adicionais do assinante na políticaboolean
doesVerifierRulesContainsExtension(String oid)
Verifica se há regras adicionais do verificador na políticavoid
downloadNewLpa(String newLpaUrl, String newLpaSigUrl)
Profile.AdESLevel
getAdESLevel()
Profile.AdESType
getAdESType()
Stream<AlgAndLength>
getAlgAndLengthLengthSet(String algId)
Retorna todos os tamanho mínimo de chaves, do signatário, aceitável pela PA.List<CommitmentRule>
getCommitmentRules()
Retorna as regras de comprometimento do signatário.int
getDocICPVersion()
Retorna a versão do DOC-ICP 15.03 correspondente à versão da PA.Optional<byte[]>
getEncodedPolicy()
byte[]
getExpectedSignPolicyHash()
Retorna o resumo criptográfico da Política de Assinatura.Optional<SignerRules.ExternalSignedData>
getExternalSignedData()
Informa se os dados assinados devem ser externos ou internos à assinatura, ou se ambos os modos são permitidos.String
getHashAlgorithmId()
Retorna o identificador do algoritmo de resumo criptográfico especificado pela Política de Assinatura.Lpa
getLpa()
void
getLpaReport(Report report, Profile.AdESType policyType)
Atualiza o relatório com informações da LPA que contém a PAOptional<SignerRules.CertInfoReq>
getMandatedCertificateInfo()
Retorna a informação obrigatória de certificadoOptional<SignerRules.CertRefReq>
getMandatedCertificateRef()
Retorna qual será a referência obrigatória do certificado usada nesta Política de Assinatura.List<String>
getMandatedSignedAttributeList()
Obtém os identificadores dos atributos assinados obrigatórios do assinante.List<String>
getMandatedUnsignedSignerAttributeList()
Obtém os identificadores dos atributos não assinados obrigatórios do assinadorList<String>
getMandatedUnsignedVerifierAttributeList()
Obtém os identificadores dos atributos não assinados obrigatórios do verificador.Optional<Integer>
getMinKeyLength(String algId)
Retorna o primeiro tamanho mínimo de chaves, do signatário, aceitável pela PA.List<String>
getOptionalAttributes()
Obtém os identificadores dos atributos opcionais na assinaturaList<String>
getOptionalSignedAttributes()
Obtém os identificadores dos atributos opcionais assinados na assinaturaList<String>
getOptionalUnsignedAttributes()
Obtém os identificadores dos atributos opcionais não-assinados na assinaturaSignaturePolicy
getPaFromAsn1(InputStream inputStream)
Busca a PA no arquivo ASN.1 de LPAList<String>
getPoliciesAvaiable(Profile.AdESType type)
Retorna a lista de políticas na LPAString
getPolicyId()
Retorna o identificador da política de assinaturaString
getPolicyUri()
Retorna a URI da PAList<String>
getProhibitedAttributes()
Obtém os identificadores dos atributos proíbidos na assinaturaList<String>
getProhibitedSignedAttributes()
Obtém os identificadores dos atributos proíbidos assinados na assinaturaList<String>
getProhibitedUnsignedAttributes()
Obtém os identificadores dos atributos proíbidos não-assinados na assinaturaPaReport
getReport()
Retorna o relatório da verificação da política de assinaturaString
getSignatureAlgorithmIdentifier()
Set<String>
getSignatureAlgorithmIdentifiers()
Retorna o primeiro identificador do algoritmo de assinatura especificado por esta Política de Assinatura.Optional<SignaturePolicyInstance>
getSignaturePolicy()
Retorna a PAString
getSignaturePolicyIdentifier()
Retorna o identificador da Política de Assinatura.String
getSignaturePolicyVersion()
Retorna a versão da políticaOptional<CertRevReq>
getSignerRevocationReqs()
Retorna o atributosignerRevReq
, que representa o mínimo de requerimentos de revogação que devem ser checados.Optional<BrExtDss>
getSignerRulesBrExtDss()
Optional<BrExtMandatedDocTSEntries>
getSignerRulesBrExtMandatedDocTSEntries()
Retorna a extensão de assinatura brExtMandatedDocTSEntriesOptional<BrExtMandatedPdfSigDicEntries>
getSignerRulesBrExtMandatedPdfSigDicEntries()
Retorna a extensão de assinatura brExtMandatedPdfSigDicEntriesOptional<SigningPeriod>
getSigningPeriod()
Retorna o período em que é permitido usar esta Política de Assinatura.Set<TrustAnchor>
getSigningTrustAnchors()
Retorna o conjunto de âncoras de confiança da PAString
getSigURL(Profile.AdESType type)
Retorna a URL que contém o arquivo de assinatura da LPA.Optional<CertRevReq>
getTimeStampRevocationReqs()
Retorna os requisitos de revogação para certificadosSet<TrustAnchor>
getTimeStampTrustAnchors()
Retorna o conjunto de âncoras de confiança para carimbos do tempo da PA.Set<CertificateTrustPoint>
getTimeStampTrustPoints()
Retorna o conjunto de pontos de confiança do carimbo de tempoSet<TrustAnchor>
getTrustAnchorSet()
Retorna o conjunto de âncoras de cofiança do verificadorString
getURL(Profile.AdESType type)
Retorna a URL da LPAboolean
hasProfile()
boolean
isXml()
Indica se a PA é XMLboolean
policyReferencesSigningCertificateV1(String oid)
Indica pelo OID da política se esta política exige SigningCertificateV1.void
setActualPolicy(IdAaEtsSigPolicyId sigPolicyId)
void
setActualPolicy(SignaturePolicyInstance signaturePolicy)
void
setActualPolicy(SignaturePolicyInstance signaturePolicy, String signaturePolicyIdentifier, String signaturePolicyUri)
Atualiza a política com as informações dadas.void
setActualPolicy(SignaturePolicyIdentifier signaturePolicyIdentifier)
void
setActualPolicy(String policyIdentifier, InputStream lpaStream, InputStream lpaSigStream, InputStream policyStream, Profile.AdESType policyType)
Atualiza a política com as informações dadas.void
setActualPolicy(String signaturePolicyIdentifier, String signaturePolicyUri, Profile.AdESType policyType)
Atualiza a política com as informações dadasvoid
setDefaultPolicy()
Inicializa a política com valores padrãoOptional<BrExtDss>
verifierRulesGetBrExtDss()
Retorna a extensão de assinatura brExtMandatedPdfSigDicEntriesOptional<BrExtMandatedDocTSEntries>
verifierRulesGetBrExtMandatedDocTSEntries()
Retorna a extensão de assinatura brExtMandatedDocTSEntries
-
Field Details
-
signaturePolicy
Atributo de política de assinatura
-
-
Constructor Details
-
SignaturePolicyProxy
Construtor utilizado quando não tiver acesso a LPA, mas ter o artefato da PA desejada.- Parameters:
signaturePolicyComponent
- A política de assinatura
-
SignaturePolicyProxy
public SignaturePolicyProxy()Construtor -
SignaturePolicyProxy
public SignaturePolicyProxy(String signaturePolicyUri) throws IOException, DOMException, CertificateException, NoSuchAlgorithmException, ParseException, ParserConfigurationException, SAXExceptionConstrutor utilizado quando não tiver acesso a LPA, mas ter o acesso a PA- Parameters:
signaturePolicyUri
- URI da política de assinatura- Throws:
DOMException
- Exceção em caso de erro no arquivo XMLParseException
- Exceção em caso de erro no parsing da data no atributoCertificateException
- Exceção em caso de erro na codificação do certificadoIOException
- Exceção em caso de erro nos bytes do atributoNoSuchAlgorithmException
- Exceção em caso de algoritmo de hash inválidoParserConfigurationException
- Exceção em caso de erro na configuração do parserSAXException
- Exceção em caso de erro na leitura do stream do arquivo da PA
-
-
Method Details
-
getPaFromAsn1
public SignaturePolicy getPaFromAsn1(InputStream inputStream) throws CertificateException, NoSuchAlgorithmException, IOException, ParseExceptionBusca a PA no arquivo ASN.1 de LPA- Parameters:
inputStream
- Stream que contém o arquivo- Throws:
ParseException
- Exceção em caso de erro no parsing da data no atributoCertificateException
- Exceção em caso de erro na codificação do certificadoIOException
- Exceção em caso de erro nos bytes do atributoNoSuchAlgorithmException
- Exceção em caso de algoritmo de hash inválido
-
getMandatedSignedAttributeList
Obtém os identificadores dos atributos assinados obrigatórios do assinante.- Specified by:
getMandatedSignedAttributeList
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getProhibitedAttributes
Obtém os identificadores dos atributos proíbidos na assinatura- Specified by:
getProhibitedAttributes
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getOptionalAttributes
Obtém os identificadores dos atributos opcionais na assinatura- Specified by:
getOptionalAttributes
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getSignaturePolicyVersion
Retorna a versão da política- Returns:
- A versão da política
-
getDocICPVersion
public int getDocICPVersion()Retorna a versão do DOC-ICP 15.03 correspondente à versão da PA. O valor retornado é sempre de dois dígitos.- Specified by:
getDocICPVersion
in interfaceSignaturePolicyInterface
- Returns:
- A versão do DOC-ICP 15.03 correspondente à versão da PA. A versão 1 retorna o número 10, a versão 6.1 retorna o número 61.
-
getProhibitedSignedAttributes
Obtém os identificadores dos atributos proíbidos assinados na assinatura- Specified by:
getProhibitedSignedAttributes
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getProhibitedUnsignedAttributes
Obtém os identificadores dos atributos proíbidos não-assinados na assinatura- Specified by:
getProhibitedUnsignedAttributes
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getOptionalSignedAttributes
Obtém os identificadores dos atributos opcionais assinados na assinatura- Specified by:
getOptionalSignedAttributes
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getOptionalUnsignedAttributes
Obtém os identificadores dos atributos opcionais não-assinados na assinatura- Specified by:
getOptionalUnsignedAttributes
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
isXml
public boolean isXml()Indica se a PA é XML- Specified by:
isXml
in interfaceSignaturePolicyInterface
- Returns:
- Indica se a Política de Assinatura é XML.
-
getEncodedPolicy
- Specified by:
getEncodedPolicy
in interfaceSignaturePolicyInterface
-
doesSignerRulesContainsExtension
Verifica se há regras adicionais do assinante na política- Specified by:
doesSignerRulesContainsExtension
in interfaceSignaturePolicyInterface
- Parameters:
oid
- O identificador da regra- Returns:
- Indica se a regra indicada está presente na PA
-
doesVerifierRulesContainsExtension
Verifica se há regras adicionais do verificador na política- Parameters:
oid
- O identificador da regra- Returns:
- Indica se a regra indicada está presente na PA
-
getSignerRulesBrExtMandatedPdfSigDicEntries
Retorna a extensão de assinatura brExtMandatedPdfSigDicEntries- Specified by:
getSignerRulesBrExtMandatedPdfSigDicEntries
in interfaceSignaturePolicyInterface
- Returns:
- O valor da extensão
-
getSignerRulesBrExtDss
- Specified by:
getSignerRulesBrExtDss
in interfaceSignaturePolicyInterface
-
verifierRulesGetBrExtDss
Retorna a extensão de assinatura brExtMandatedPdfSigDicEntries- Returns:
- O valor da extensão
-
getExternalSignedData
Informa se os dados assinados devem ser externos ou internos à assinatura, ou se ambos os modos são permitidos.- Specified by:
getExternalSignedData
in interfaceSignaturePolicyInterface
- Returns:
- Indica o modo dos dados assinados
-
getSigningPeriod
Retorna o período em que é permitido usar esta Política de Assinatura.- Specified by:
getSigningPeriod
in interfaceSignaturePolicyInterface
- Returns:
- Intervalo de tempo em que a assinatura deve ser usada.
-
getMinKeyLength
Retorna o primeiro tamanho mínimo de chaves, do signatário, aceitável pela PA.- Specified by:
getMinKeyLength
in interfaceSignaturePolicyInterface
- Returns:
- tamanho da chave do signatário em bits.
-
getAlgAndLengthLengthSet
Retorna todos os tamanho mínimo de chaves, do signatário, aceitável pela PA.- Returns:
- Os tamanhos da chave do signatário em bits.
-
getTrustAnchorSet
Retorna o conjunto de âncoras de cofiança do verificador- Specified by:
getTrustAnchorSet
in interfaceSignaturePolicyInterface
- Returns:
- O conjunto de âncoras de cofiança do verificador
-
getSigningTrustAnchors
Retorna o conjunto de âncoras de confiança da PA- Specified by:
getSigningTrustAnchors
in interfaceSignaturePolicyInterface
- Returns:
- O conjunto de âncoras de confiança da PA
-
getTimeStampTrustAnchors
Retorna o conjunto de âncoras de confiança para carimbos do tempo da PA.- Specified by:
getTimeStampTrustAnchors
in interfaceSignaturePolicyInterface
- Returns:
- O conjunto de âncoras de confiança
-
getTimeStampTrustPoints
Retorna o conjunto de pontos de confiança do carimbo de tempo- Specified by:
getTimeStampTrustPoints
in interfaceSignaturePolicyInterface
- Returns:
- O onjunto de pontos de confiança
-
getTimeStampRevocationReqs
Retorna os requisitos de revogação para certificados- Specified by:
getTimeStampRevocationReqs
in interfaceSignaturePolicyInterface
- Returns:
- Os requisitos de revogação para certificados
-
getSignatureAlgorithmIdentifiers
Retorna o primeiro identificador do algoritmo de assinatura especificado por esta Política de Assinatura.- Specified by:
getSignatureAlgorithmIdentifiers
in interfaceSignaturePolicyInterface
- Returns:
- O identificador do algoritmo
-
getMandatedCertificateRef
Retorna qual será a referência obrigatória do certificado usada nesta Política de Assinatura. Esta informação é guardada pelo atributomandatedCertificateRef
, que será retornado. A referência pode ser somente o certificado do signatário (signerOnly
), ou o caminho de certificação completo(fullPath
).- Specified by:
getMandatedCertificateRef
in interfaceSignaturePolicyInterface
- Returns:
- A referência obrigatória do certificado
-
getSignerRevocationReqs
Retorna o atributosignerRevReq
, que representa o mínimo de requerimentos de revogação que devem ser checados.- Specified by:
getSignerRevocationReqs
in interfaceSignaturePolicyInterface
- Returns:
- O mínimo de requerimentos de revogação a serem verificados
-
getSignatureAlgorithmIdentifier
- Specified by:
getSignatureAlgorithmIdentifier
in interfaceSignaturePolicyInterface
-
getHashAlgorithmId
Retorna o identificador do algoritmo de resumo criptográfico especificado pela Política de Assinatura. Se for XAdES, o retorno será uma URL, e se for CAdES, será um OID.- Specified by:
getHashAlgorithmId
in interfaceSignaturePolicyInterface
- Returns:
- O identificador do algoritmo de resumo criptográfico.
-
getExpectedSignPolicyHash
public byte[] getExpectedSignPolicyHash()Retorna o resumo criptográfico da Política de Assinatura.- Specified by:
getExpectedSignPolicyHash
in interfaceSignaturePolicyInterface
- Returns:
- Valor do resumo criptográfico da Política de Assinatura.
-
getSignaturePolicyIdentifier
Retorna o identificador da Política de Assinatura.- Returns:
- O identificador da Política de Assinatura
-
getCommitmentRules
Retorna as regras de comprometimento do signatário.- Returns:
- As regras de comprometimento
-
setDefaultPolicy
public void setDefaultPolicy()Inicializa a política com valores padrão- Specified by:
setDefaultPolicy
in interfaceSignaturePolicyInterface
-
setActualPolicy
- Specified by:
setActualPolicy
in interfaceSignaturePolicyInterface
-
setActualPolicy
- Specified by:
setActualPolicy
in interfaceSignaturePolicyInterface
-
setActualPolicy
public void setActualPolicy(String policyIdentifier, InputStream lpaStream, InputStream lpaSigStream, InputStream policyStream, Profile.AdESType policyType)Atualiza a política com as informações dadas.- Parameters:
policyIdentifier
- Identificador da políticalpaStream
- Stream da lista de políticas de assinaturalpaSigStream
- Stream da assinatura da políticapolicyStream
- stream da políticapolicyType
- Tipo da política
-
setActualPolicy
public void setActualPolicy(SignaturePolicyInstance signaturePolicy, String signaturePolicyIdentifier, String signaturePolicyUri)Atualiza a política com as informações dadas. Somente chamado caso esteja verificando um perfil e encontre um SigPolicyId- Specified by:
setActualPolicy
in interfaceSignaturePolicyInterface
- Parameters:
signaturePolicy
- política
-
setActualPolicy
- Specified by:
setActualPolicy
in interfaceSignaturePolicyInterface
-
setActualPolicy
public void setActualPolicy(String signaturePolicyIdentifier, String signaturePolicyUri, Profile.AdESType policyType)Atualiza a política com as informações dadas- Specified by:
setActualPolicy
in interfaceSignaturePolicyInterface
- Parameters:
signaturePolicyIdentifier
- Identificador da políticasignaturePolicyUri
- URI da políticapolicyType
- Tipo da política
-
getReport
Retorna o relatório da verificação da política de assinatura- Specified by:
getReport
in interfaceSignaturePolicyInterface
- Returns:
- O relatório de verificação
-
policyReferencesSigningCertificateV1
Indica pelo OID da política se esta política exige SigningCertificateV1.- Specified by:
policyReferencesSigningCertificateV1
in interfaceSignaturePolicyInterface
- Parameters:
oid
- O indentificador da política- Returns:
- Verdadeiro se o oid referencia o atributo SigningCertificateV1. Caso contrário, falso.
-
getAdESType
- Specified by:
getAdESType
in interfaceSignaturePolicyInterface
-
getAdESLevel
- Specified by:
getAdESLevel
in interfaceSignaturePolicyInterface
-
getLpaReport
Atualiza o relatório com informações da LPA que contém a PA- Specified by:
getLpaReport
in interfaceSignaturePolicyInterface
- Parameters:
report
- Relatório de verificaçãopolicyType
- O tipo de política da PA
-
downloadNewLpa
-
getPolicyId
Retorna o identificador da política de assinatura- Specified by:
getPolicyId
in interfaceSignaturePolicyInterface
- Returns:
- O identificador da política
-
getURL
Retorna a URL da LPA- Specified by:
getURL
in interfaceSignaturePolicyInterface
- Parameters:
type
- O tipo da política- Returns:
- A URL da LPA
-
getSigURL
Retorna a URL que contém o arquivo de assinatura da LPA. Utilizado apenas em assinaturas PAdES, na construção do dicionário DSS.- Specified by:
getSigURL
in interfaceSignaturePolicyInterface
- Parameters:
type
- o tipo da assinatura- Returns:
- A URL do arquivo de assinatura da LPA caso o tipo da assinatura seja PAdES, ou nulo caso o tipo da assinatura seja CAdES ou XAdES
-
getMandatedCertificateInfo
Retorna a informação obrigatória de certificado- Specified by:
getMandatedCertificateInfo
in interfaceSignaturePolicyInterface
- Returns:
- A informação obrigatória de certificado
-
getMandatedUnsignedVerifierAttributeList
Obtém os identificadores dos atributos não assinados obrigatórios do verificador.- Specified by:
getMandatedUnsignedVerifierAttributeList
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos.
-
getPoliciesAvaiable
Retorna a lista de políticas na LPA- Specified by:
getPoliciesAvaiable
in interfaceSignaturePolicyInterface
- Parameters:
type
- O tipo da política- Returns:
- Lista com os OIDs das políticas contidas na LPA
-
getSignaturePolicy
Retorna a PA- Specified by:
getSignaturePolicy
in interfaceSignaturePolicyInterface
- Returns:
- A política de assinatura
-
getMandatedUnsignedSignerAttributeList
Obtém os identificadores dos atributos não assinados obrigatórios do assinador- Specified by:
getMandatedUnsignedSignerAttributeList
in interfaceSignaturePolicyInterface
- Returns:
- Lista com os identificadores dos atributos
-
getSignerRulesBrExtMandatedDocTSEntries
Retorna a extensão de assinatura brExtMandatedDocTSEntries- Specified by:
getSignerRulesBrExtMandatedDocTSEntries
in interfaceSignaturePolicyInterface
- Returns:
- O valor da extensão
-
verifierRulesGetBrExtMandatedDocTSEntries
Retorna a extensão de assinatura brExtMandatedDocTSEntries- Returns:
- O valor da extensão
-
getLpa
- Specified by:
getLpa
in interfaceSignaturePolicyInterface
-
getPolicyUri
Retorna a URI da PA- Specified by:
getPolicyUri
in interfaceSignaturePolicyInterface
- Returns:
- A URI da política
-
clear
public void clear()Limpa a política da última verificação- Specified by:
clear
in interfaceSignaturePolicyInterface
-
hasProfile
public boolean hasProfile()- Specified by:
hasProfile
in interfaceSignaturePolicyInterface
-