A camada de apresentação

 

A apresentação do certificado digital

De modo a suportar a capacidade de visualização de diferentes políticas de certificados, associadas a diferentes PKI's, a janela de visualização dos detalhes de certificado está implementada de modo abstrato. A classe CertificateWindow é implementada como um JFrame cujo conteúdo previsto são três tabs, que espera-se exibam, respectivamente, três classes distintas (e opcionais) de atributos básicos de um certificado. Que atributos serão de fato exibidos, bem como a interpretação específica das diversas extensões, é deixada a cargo das implementações de suporte às PKI's específicas. Uma implementação deve especializar CertificateAttributes para cada classe de atributos que pretende exibir, especializações devolvidas por uma implementação de CertificateWindowFactory. Esta é chamada por CertificateWindow na sua criação para obter os painéis que comporão cada um dos tabs. Se alguma das classes não for implementada, o método correspondente de CertificateWindowFactory deve retornar null. Embora a implementação de CertificateWindow resista à não implementação de todas as tabs, espera-se que pelo menos uma esteja implementada. A ilustração aponta precisamente isto: ela descreve a implementação de uma PKI "genérica" e requer somente a implementação das tabs para os atributos básicos e estendidos.