Class IdAaSigningCertificate
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.signed.IdAaSigningCertificate
- All Implemented Interfaces:
SigningCertificateInterface
,SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
,Cloneable
,CertSelector
,org.bouncycastle.util.Selector<Certificate>
public class IdAaSigningCertificate extends Object implements SigningCertificateInterface
O atributo IdAaSigningCertificate é designado para previnir o ataque de
substituição, e para permitir um conjunto restrito de certificados a serem
usados na verificação da assinatura.
Este atributo é obrigatório para todas as políticas do Padrão Brasileiro de Assinatura Digital.
Esta versão representa uma referência do certificado do signatário utilizando o algoritmo de hash SHA1.
SigningCertificate ::= SEQUENCE { certs SEQUENCE OF ESSCertID, policies SEQUENCE OF PolicyInformation OPTIONAL }
- See Also:
- RFC 5035
-
Field Summary
Fields Modifier and Type Field Description protected List<org.bouncycastle.asn1.ess.ESSCertID>
certs
Lista de identificadores dos certificadosstatic String
IDENTIFIER
protected AbstractVerifier
signatureVerifier
Objeto de verificador -
Constructor Summary
Constructors Constructor Description IdAaSigningCertificate(AbstractVerifier signatureVerifier, Integer index)
Deve-se utilizar este construtor no momento de validação do atributo.IdAaSigningCertificate(List<Certificate> certificates)
Cria o atributo id-aa-signingCertificate a partir de uma lista de certificados.IdAaSigningCertificate(org.bouncycastle.asn1.cms.Attribute genericEncoding)
Constrói um objetoIdAaSigningCertificate
. -
Method Summary
Modifier and Type Method Description CertSelector
clone()
Faz uma cópia deste objetoorg.bouncycastle.asn1.cms.Attribute
getEncoded()
Retorna o atributo codificadoList<org.bouncycastle.asn1.ess.ESSCertID>
getESSCertID()
Obtém todos os certificados que foram guardados no atributo signing certificate da assinatura.String
getIdentifier()
Retorna o identificador do atributoboolean
isSigned()
Informa se o atributo é assinadoboolean
isUnique()
Verifica se o atributo deve ter apenas uma instância na assinaturaboolean
match(Certificate certificate)
Verifica se o certificado dado é o mesmo que está no atributostatic boolean
match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertID essCertID)
void
validate()
Valida o atributo de acordo com suas regras específicas
-
Field Details
-
IDENTIFIER
-
certs
Lista de identificadores dos certificados -
signatureVerifier
Objeto de verificador
-
-
Constructor Details
-
IdAaSigningCertificate
public IdAaSigningCertificate(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeExceptionDeve-se utilizar este construtor no momento de validação do atributo. Este método decodifica todos os certificados que foram adicionados no atributo SigningCertificate, ou seja, ele funciona para os casos SignerOnly e FullPath.- Parameters:
signatureVerifier
- Usado para criar e verificar o atributoindex
- Este índide deve ser 0 para este atributo- Throws:
SignatureAttributeException
-
IdAaSigningCertificate
Cria o atributo id-aa-signingCertificate a partir de uma lista de certificados. Este método decodifica todos os certificados que foram adicionados no atributo SigningCertificate.- Parameters:
certificates
- Lista de certificados que serão guardados no atributo signing certificate da assinatura- Throws:
SignatureAttributeException
-
IdAaSigningCertificate
public IdAaSigningCertificate(org.bouncycastle.asn1.cms.Attribute genericEncoding)Constrói um objetoIdAaSigningCertificate
.- Parameters:
genericEncoding
- O atributo codificado
-
-
Method Details
-
getIdentifier
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
-
getEncoded
public org.bouncycastle.asn1.cms.Attribute getEncoded()Retorna o atributo codificado- Specified by:
getEncoded
in interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
- Returns:
- O atributo em formato ASN1
-
isSigned
public boolean isSigned()Informa se o atributo é assinado- Specified by:
isSigned
in interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
- Returns:
- Indica se o atributo é assinado
-
getESSCertID
Obtém todos os certificados que foram guardados no atributo signing certificate da assinatura.- Specified by:
getESSCertID
in interfaceSigningCertificateInterface
- Returns:
- A lista dos certificados do atributo
-
match
public static boolean match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertID essCertID) -
match
Verifica se o certificado dado é o mesmo que está no atributo- 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
Faz uma cópia deste objeto- Specified by:
clone
in interfaceCertSelector
- Specified by:
clone
in interfaceorg.bouncycastle.util.Selector<Certificate>
- Overrides:
clone
in classObject
- Returns:
- Uma cópia do objeto
-
isUnique
public boolean isUnique()Verifica se o atributo deve ter apenas uma instância 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
-