package gov.pr.celepar.tabeliao.core;
/*
Este programa � licenciado de acordo com a
LPG-AP (LICEN�A P�BLICA GERAL PARA PROGRAMAS DE COMPUTADOR DA ADMINISTRA��O P�BLICA),
vers�o 1.1 ou qualquer vers�o posterior.
A LPG-AP deve acompanhar todas PUBLICA��ES, DISTRIBUI��ES e REPRODU��ES deste Programa.
Caso uma c�pia da LPG-AP n�o esteja dispon�vel junto com este Programa, voc� pode contatar o LICENCIANTE ou ent�o acessar diretamente:
http://www.celepar.pr.gov.br/licenca/LPG-AP.pdf
Para poder USAR, PUBLICAR, DISTRIBUIR, REPRODUZIR ou ALTERAR este Programa
� preciso estar de acordo com os termos da LPG-AP
*/
import java.security.cert.X509Certificate;
/**
* Classe que�permite�instanciar�um certificado�de�modo�mais�genehrico,�sem pre�-identificacao
* do tipo (PF,PJ ou Equipamento) atravehs de seus OID's. A classe retorna�o�objeto�conforme�
* o�tipo�encontrado
*
* @author Thiago Meneghello <thiagomeneghello@ecelepar.pr.gov.br> CELEPAR/GIC
*
*/
public class TabeliaoSubjectAlternativeNames {
private String email = null;
private TabeliaoDadosPF tabeliaoDadosPF = null;
private TabeliaoDadosPJ tabeliaoDadosPJ = null;
private TabeliaoDadosEquipamento tabeliaoDadosEquipamento = null;
/**
* Construtor unico
* @param certificate -> certificado no formato X509Certificate
* @see java.security.cert.X509Certificate
*/
public TabeliaoSubjectAlternativeNames(X509Certificate certificate) {
CertificadoExtra ce = new CertificadoExtra(certificate);
if(ce.isCertificadoPF()) {
tabeliaoDadosPF = new TabeliaoDadosPF(ce.getOID_2_16_76_1_3_1(),
ce.getOID_2_16_76_1_3_5(),
ce.getOID_2_16_76_1_3_6());
} else if(ce.isCertificadoPJ()) {
tabeliaoDadosPJ = new TabeliaoDadosPJ(ce.getOID_2_16_76_1_3_2(),
ce.getOID_2_16_76_1_3_3(),
ce.getOID_2_16_76_1_3_4(),
ce.getOID_2_16_76_1_3_7());
} else if(ce.isCertificadoEquipamento()) {
tabeliaoDadosEquipamento = new TabeliaoDadosEquipamento(ce.getOID_2_16_76_1_3_2(),
ce.getOID_2_16_76_1_3_3(),
ce.getOID_2_16_76_1_3_4(),
ce.getOID_2_16_76_1_3_8());
}
this.email = ce.getEmail();
}
/**
*
* @return se eh um certificado de Pessoa Fisica
*/
public boolean isDadosPF(){
return tabeliaoDadosPF != null;
}
/**
*
* @return Objeto do tipo TabeliaoDadosPF
* @see gov.pr.celepar.tabeliao.core.TabeliaoDadosPF
*/
public TabeliaoDadosPF getTabeliaoDadosPF(){
return tabeliaoDadosPF;
}
/**
*
* @return se eh um certificado de Pessoa Juridica
*/
public boolean isDadosPJ(){
return tabeliaoDadosPJ != null;
}
/**
*
* @return Objeto do tipo TabeliaoDadosPJ
* @see gov.pr.celepar.tabeliao.core.TabeliaoDadosPJ
*/
public TabeliaoDadosPJ getTabeliaoDadosPJ(){
return tabeliaoDadosPJ;
}
/**
*
* @return se eh um certificado de Equipamento
*/
public boolean isDadosEquipamento(){
return tabeliaoDadosEquipamento != null;
}
/**
*
* @return Objeto do tipo TabeliaoDadosEquipamento
* @see gov.pr.celepar.tabeliao.core.TabeliaoDadosEquipamento
*/
public TabeliaoDadosEquipamento getTabeliaoDadosEquipamento(){
return tabeliaoDadosEquipamento;
}
/**
*
* @return endereco de E-mail contido no certificado
*/
public String getEmail(){
return email;
}
}