Propriedades dos certificados
Ao chamar a função listCertificates()
, o seu callback recebe um array com os certificados disponíveis na máquina do usuário.
Cada elemento do array retornado é um objeto do tipo
CertificateModel
contendo informações sobre o certificado:
pki.listCertificates().success(function (certs) {
for (var i = 0; i < certs.length; i++) {
var cert = certs[i];
console.log(cert.subjectName);
console.log(cert.email);
console.log(cert.validityEnd);
console.log(cert.pkiBrazil.cpf);
console.log(cert.pkiItaly.codiceFiscale);
}
});
Esse mesmo objeto é recebido como argumento para o callback selectOptionFormatter
que pode ser passado na chamada à função listCertificates()
:
pki.listCertificates({
selectId: 'certificateSelect',
selectOptionFormatter: function (cert) {
var text = cert.subjectName + ' ('
+ 'emitido por ' + cert.issuerName
+ ' em ' + cert.validityEnd.toLocaleDateString()
+ ')';
if (new Date() > cert.validityEnd) {
text = '[EXPIRADO] ' + text;
}
return text;
}
});
Algumas das propriedades disponíveis são:
subjectName
: Campo Common Name (CN) do nome do titularemail
: Endereço de e-mail do titularvalidityEnd
: Data de expiração do certificado (tipoDate
padrão de JavaScript)pkiBrazil
: Objeto com campos específicos da ICP-BrasilpkiBrazil.cpf
: CPF do titular/responsávelpkiBrazil.cnpj
: CNPJ da empresa (ounull
, caso não seja um certificado de pessoa jurídica)
pkiItaly
: Objeto com campos específicos de certificados italianospkiItaly.codiceFiscale
: codice fiscale do titular
Note
As propriedades pkiBrazil
e pkiItaly
estão sempre preenchidas, mesmo que o certificado não seja um certificado brasileiro ou italiano,
de modo que é seguro fazer algo como if (cert.pkiBrazil.cpf) { ... }
sem risco de erros. Nesse caso, as sub-propriedade (pkiBrazil.*
/
pkiItaly.*
) é que estarão com valor null
.
Para obter uma lista completa das propriedades disponíveis em cada elemento do array, veja o guia da API para o tipo CertificateModel.