Class IdAaSigningCertificateV2
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.signed.IdAaSigningCertificateV2
- All Implemented Interfaces:
SigningCertificateInterface,SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>,Cloneable,CertSelector,org.bouncycastle.util.Selector<Certificate>
public class IdAaSigningCertificateV2 extends Object implements SigningCertificateInterface
O atributo IdAaSigningCertificateV2 é designado para prevenir o ataque de
substituição, e para permitir um conjunto restrito de certificados a serem
usados na verificação da assinatura.
Esta versão representa uma referência do certificado do signatário utilizando qualquer algoritmo de resumo criptográfico, exceto o SHA-1.
SigningCertificateV2 ::= SEQUENCE {
certs SEQUENCE OF ESSCertIDv2,
policies SEQUENCE OF PolicyInformation OPTIONAL
}
- See Also:
- RFC 5035
-
Field Summary
Fields Modifier and Type Field Description protected List<org.bouncycastle.asn1.ess.ESSCertIDv2>certsLista de identificadores dos certificadosstatic StringIDENTIFIERIdentificador do objeto do atributoprotected AbstractVerifierverifierObjeto de verificador -
Constructor Summary
Constructors Constructor Description IdAaSigningCertificateV2(AbstractVerifier verifier, Integer index)Deve-se utilizar este construtor no momento de validação do atributo.IdAaSigningCertificateV2(String algorithm, List<Certificate> certificates)Constrói o atributo a partir do identificador do algoritmo de resumo criptográfico e de uma lista de certificados.IdAaSigningCertificateV2(org.bouncycastle.asn1.cms.Attribute attr)Constrói um objetoIdAaSigningCertificateV2. -
Method Summary
Modifier and Type Method Description CertSelectorclone()org.bouncycastle.asn1.cms.AttributegetEncoded()Gera uma representação equivalente do atributo em formato ASN.1.List<org.bouncycastle.asn1.ess.ESSCertID>getESSCertID()Obtém todos os identificadores de certificados guardados no atributo no formatoESSCertID, para compatibilidade com a geração de contra-assinaturas.List<org.bouncycastle.asn1.ess.ESSCertIDv2>getESSCertIDV2()StringgetIdentifier()Retorna o identificador do atributoAttributeValueReportgetValue()booleanisSigned()Indica se o atributo é assinado.booleanisUnique()Indica se o atributo deve existir apenas uma vez na assinatura.booleanmatch(Certificate certificate)Verifica se o certificado fornecido é o mesmo que está representado no atributo através do cálculo do resumo criptográfico.static booleanmatch(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertIDv2 essCertIDv2)voidvalidate()Valida o atributo de acordo com suas regras específicas.
-
Field Details
-
IDENTIFIER
Identificador do objeto do atributo -
certs
Lista de identificadores dos certificados -
verifier
Objeto de verificador
-
-
Constructor Details
-
IdAaSigningCertificateV2
public IdAaSigningCertificateV2(AbstractVerifier verifier, Integer index) throws SignatureAttributeNotFoundExceptionDeve-se utilizar este construtor no momento de validação do atributo. Este método decodifica todos os certificados adicionados no atributo, ou seja, ele funciona para os casos SignerOnly e FullPath.- Parameters:
verifier- Carrega informações sobre a assinatura para criar e verificar o atributoindex- Este índice deve ser 0 para este atributo, pois apenas um deve existir- Throws:
SignatureAttributeNotFoundException- Ocorre quando o atributo não é encontrado pelo objeto de verificador.
-
IdAaSigningCertificateV2
public IdAaSigningCertificateV2(org.bouncycastle.asn1.cms.Attribute attr)Constrói um objetoIdAaSigningCertificateV2.- Parameters:
attr- O atributo codificado no formato ASN.1.
-
IdAaSigningCertificateV2
public IdAaSigningCertificateV2(String algorithm, List<Certificate> certificates) throws AlgorithmException, EncodingException, SignatureAttributeExceptionConstrói o atributo a partir do identificador do algoritmo de resumo criptográfico e de uma lista de certificados.- Parameters:
algorithm- Identificador do algoritmo de resumo criptográficocertificates- Lista de certificados- Throws:
AlgorithmException- Ocorre quando o algoritmo de resumo criptográfico é desconhecido.EncodingException- Ocorre quando existe uma falha na codificação de um dos certificados.SignatureAttributeException- Ocorre quando um algoritmo fraco é solicitado, ou quando nenhum certificado é repassado.
-
-
Method Details
-
getIdentifier
Description copied from interface:SignatureAttributeRetorna o identificador do atributo- Specified by:
getIdentifierin interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- O identificador do atributo
-
validate
Valida o atributo de acordo com suas regras específicas.- Specified by:
validatein interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Throws:
SignatureAttributeException- Ocorre quando o certificado do assinante não é corretamente identificado no atributo.
-
getEncoded
public org.bouncycastle.asn1.cms.Attribute getEncoded()Gera uma representação equivalente do atributo em formato ASN.1.- Specified by:
getEncodedin interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- O atributo no formato em que foi parametrizado a classe
-
isSigned
public boolean isSigned()Indica se o atributo é assinado.- Specified by:
isSignedin interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- Indica se o atributo é assinado
-
match
public static boolean match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertIDv2 essCertIDv2) -
match
Verifica se o certificado fornecido é o mesmo que está representado no atributo através do cálculo do resumo criptográfico.- Specified by:
matchin interfaceCertSelector- Specified by:
matchin interfaceorg.bouncycastle.util.Selector<Certificate>- Parameters:
certificate- O certificado a ser comparado- Returns:
- Indica se o certificado dado é o mesmo que está no atributo.
-
clone
- Specified by:
clonein interfaceCertSelector- Specified by:
clonein interfaceorg.bouncycastle.util.Selector<Certificate>- Overrides:
clonein classObject
-
isUnique
public boolean isUnique()Indica se o atributo deve existir apenas uma vez na assinatura.- Specified by:
isUniquein interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- Indica se o atributo deve ter apenas uma instância na assinatura
-
getESSCertIDV2
-
getESSCertID
Obtém todos os identificadores de certificados guardados no atributo no formatoESSCertID, para compatibilidade com a geração de contra-assinaturas.- Specified by:
getESSCertIDin interfaceSigningCertificateInterface- Returns:
- Uma lista de identificadores de certificado no formato
ESSCertID.
-
getValue
- Specified by:
getValuein interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
-