Show / Hide Table of Contents
Editar no GitHub

Personalizando a listagem de certificados

É possível personalizar o texto mostrado para cada certificado na listagem de certificados utilizando as Propriedades dos certificados retornadas pelo Web PKI:

function onWebPkiReady() {
    pki.listCertificates({
        selectId: 'certificateSelect',
        selectOptionFormatter: getCertText
    });
}

function getCertText(cert) {
    return cert.subjectName + ' (issued by ' + cert.issuerName + ')';
}

O mesmo se aplica se você estiver processando o array de certificados manualmente:

function onWebPkiReady() {
    pki.listCertificates().success(function (certs) {
        var select = $('#certificateSelect');
        for (var i = 0; i < certs.length; i++) {
            var cert = certs[i];
            select.append(
                $('<option />').val(cert.thumbprint).text(getCertText(cert))
            );
        }
    });
}

function getCertText(cert) {
    return cert.subjectName + ' (issued by ' + cert.issuerName + ')';
}

Por exemplo, para exibir a data de validade de cada certificado:

function getCertText(cert) {
    return cert.subjectName + ' (expires on ' + cert.validityEnd.toLocaleDateString() + ')';
}

Ou para exibir um prefixo [EXPIRADO] se o certificado estiver expirado:

function getCertText(cert) {
    var text = cert.subjectName;
    if (new Date() > cert.validityEnd) {
        text = '[EXPIRADO] ' + text;
    }
    return text;
}
Tip

Recomendamos utilizar pelo menos uma propriedade adicional além do nome do titular para ajudar usuários com mais de um certificado com o mesmo nome (em outras palavras, não use apenas return cert.subjectName;)

Validação de certificados

Essa seção foi movida para um artigo separado: Pré-validação de certificados

Ordenação

Essa seção foi removida porque o Web PKI agora retorna automaticamente a lista de certificados ordenada pelo subjectName.

Note

Caso na sua aplicação os certificados não estejam ordenados, atualize a biblioteca de JavaScript do Web PKI.

Back to top Copyright © 2015-2026 Lacuna Software