X509Certificate Classe

Definição

Classe abstrata para X.

[Android.Runtime.Register("java/security/cert/X509Certificate", DoNotGenerateAcw=true)]
public abstract class X509Certificate : Java.Security.Cert.Certificate, IDisposable, Java.Security.Cert.IX509Extension
[<Android.Runtime.Register("java/security/cert/X509Certificate", DoNotGenerateAcw=true)>]
type X509Certificate = class
    inherit Certificate
    interface IX509Extension
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herança
Atributos
Implementações

Comentários

Classe abstrata para certificados X.509. Isso fornece uma maneira padrão de acessar todos os atributos de um certificado X.509.

Em junho de 1996, o formato X.509 v3 básico foi concluído por ISO/IEC e ANSI X9, que é descrito abaixo em ASN.1:

Certificate  ::=  SEQUENCE  {
                tbsCertificate       TBSCertificate,
                signatureAlgorithm   AlgorithmIdentifier,
                signature            BIT STRING  }

Esses certificados são amplamente usados para dar suporte à autenticação e a outras funcionalidades em sistemas de segurança da Internet. Aplicativos comuns incluem PEM (Privacy Enhanced Mail), SSL (Transport Layer Security), assinatura de código para distribuição de software confiável e SET (Transações Eletrônicas Seguras).

Esses certificados são gerenciados e atestados por <em Autoridades> de Certificação/em<> (CAs). As ACs são serviços que criam certificados colocando dados no formato padrão X.509 e, em seguida, assinando digitalmente esses dados. As ACs atuam como terceiros confiáveis, fazendo apresentações entre entidades de segurança que não têm conhecimento direto umas das outras. Os certificados de AC são assinados por si mesmos ou por alguma outra AC, como uma AC "raiz".

Mais informações podem ser encontradas no RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile.

A definição de tbsCertificate ASN.1 é:

TBSCertificate  ::=  SEQUENCE  {
                version         [0]  EXPLICIT Version DEFAULT v1,
                serialNumber         CertificateSerialNumber,
                signature            AlgorithmIdentifier,
                issuer               Name,
                validity             Validity,
                subject              Name,
                subjectPublicKeyInfo SubjectPublicKeyInfo,
                issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                                     -- If present, version must be v2 or v3
                subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
                                     -- If present, version must be v2 or v3
                extensions      [3]  EXPLICIT Extensions OPTIONAL
                                     -- If present, version must be v3
                }

Os certificados são instanciados usando um fábrica de certificados. Veja a seguir um exemplo de como criar uma instância de um certificado X.509:

try (InputStream inStream = new FileInputStream("fileName-of-cert")) {
                CertificateFactory cf = CertificateFactory.getInstance("X.509");
                X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
            }

Java documentação para java.security.cert.X509Certificate.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
X509Certificate()

Construtor para X.

X509Certificate(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Propriedades

Nome Description
BasicConstraints

Retorna o comprimento do caminho das restrições de certificado da BasicContraints extensão.

Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
CriticalExtensionOIDs

Obtém os identificadores de objeto para extensões marcadas como críticas neste certificado.

ExtendedKeyUsage

Obtém uma lista não modificável de Cadeias de Caracteres que representam os OBJECT IDENTIFIERs do ExtKeyUsageSyntax campo da extensão de uso de chave estendida (OID = 2.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
HasUnsupportedCriticalExtension

Indica se esse certificado contém uma extensão crítica sem suporte.

IssuerAlternativeNames

Obtém uma coleção imutável de nomes alternativos do emissor da IssuerAltName extensão (OID = 2.

IssuerDN

Retorna o issuer (nome diferenciado do emissor) como um objeto específico Principal de implementação.

IssuerX500Principal

Retorna o valor do emissor (nome diferenciado do emissor) do certificado como um X500Principal.

JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Classe abstrata para X.

(Herdado de JavaObject)
JniPeerMembers

Classe abstrata para X.

NonCriticalExtensionOIDs

Obtém os identificadores de objeto para extensões marcadas como não críticas neste certificado.

NotAfter

Retorna a notAfter data do período de validade do certificado.

NotBefore

Retorna a notBefore data do período de validade do certificado.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
PublicKey

Retorna a chave pública correspondente a este certificado.

(Herdado de Certificate)
SerialNumber

Retorna o serialNumber certificado.

SigAlgName

Retorna o nome do algoritmo para a assinatura do certificado.

SigAlgOID

Retorna a OID do algoritmo de assinatura do certificado.

SubjectAlternativeNames

Obtém uma coleção imutável de nomes alternativos de assunto da SubjectAltName extensão (OID = 2.

SubjectDN

Retorna o subject (nome diferenciado da entidade) como um objeto específico Principal de implementação.

SubjectX500Principal

Retorna o valor da entidade (nome diferenciado da entidade) do certificado como um X500Principal.

ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Type

Retorna o tipo desse certificado.

(Herdado de Certificate)
Version

Retorna os certificados version (número de versão).

Métodos

Nome Description
CheckValidity()

Verifica se o certificado é válido no momento.

CheckValidity(Date)

Verifica se a data determinada está dentro do período de validade do certificado.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Classe abstrata para X.

(Herdado de JavaObject)
Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Classe abstrata para X.

(Herdado de JavaObject)
Equals(Object)

Classe abstrata para X.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetEncoded()

Retorna a forma codificada deste certificado.

(Herdado de Certificate)
GetExtensionValue(String)

Obtém a cadeia de caracteres OCTET codificada em < DER para o valor da extensão (>em<extnValue>/emoid) identificado pela cadeia de caracteres passada.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetIssuerUniqueID()

Obtém o issuerUniqueID valor do certificado.

GetKeyUsage()

Obtém uma matriz booliana que representa bits da KeyUsage extensão (OID = 2.

GetSigAlgParams()

Obtém os parâmetros de algoritmo de assinatura codificados em DER do algoritmo de assinatura desse certificado.

GetSignature()

Obtém o signature valor (os bits de assinatura brutos) do certificado.

GetSubjectUniqueID()

Obtém o subjectUniqueID valor do certificado.

GetTBSCertificate()

Obtém as informações do certificado codificado em DER, o tbsCertificate deste certificado.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Classe abstrata para X.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres desse certificado.

(Herdado de Certificate)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Verify(IPublicKey, Provider)

Verifica se esse certificado foi assinado usando a chave privada que corresponde à chave pública especificada.

Verify(IPublicKey, String)

Verifica se esse certificado foi assinado usando a chave privada que corresponde à chave pública especificada.

(Herdado de Certificate)
Verify(IPublicKey)

Verifica se esse certificado foi assinado usando a chave privada que corresponde à chave pública especificada.

(Herdado de Certificate)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
WriteReplace()

Substitua o Certificado a ser serializado.

(Herdado de Certificate)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Classe abstrata para X.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Classe abstrata para X.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Classe abstrata para X.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Classe abstrata para X.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Classe abstrata para X.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Classe abstrata para X.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Classe abstrata para X.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Classe abstrata para X.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a