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>
certs
Lista de identificadores dos certificadosstatic String
IDENTIFIER
Identificador do objeto do atributoprotected AbstractVerifier
verifier
Objeto 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 CertSelector
clone()
org.bouncycastle.asn1.cms.Attribute
getEncoded()
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()
String
getIdentifier()
Retorna o identificador do atributoboolean
isSigned()
Indica se o atributo é assinado.boolean
isUnique()
Indica se o atributo deve existir apenas uma vez na assinatura.boolean
match(Certificate certificate)
Verifica se o certificado fornecido é o mesmo que está representado no atributo através do cálculo do resumo criptográfico.static boolean
match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertIDv2 essCertIDv2)
void
validate()
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:SignatureAttribute
Retorna o identificador do atributo- Specified by:
getIdentifier
in interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
- Returns:
- O identificador do atributo
-
validate
Valida o atributo de acordo com suas regras específicas.- Specified by:
validate
in 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:
getEncoded
in 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:
isSigned
in 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:
match
in interfaceCertSelector
- Specified by:
match
in 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:
clone
in interfaceCertSelector
- Specified by:
clone
in interfaceorg.bouncycastle.util.Selector<Certificate>
- Overrides:
clone
in classObject
-
isUnique
public boolean isUnique()Indica se o atributo deve existir apenas uma vez na assinatura.- Specified by:
isUnique
in 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:
getESSCertID
in interfaceSigningCertificateInterface
- Returns:
- Uma lista de identificadores de certificado no formato
ESSCertID
.
-