Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
695 blopes 1
package nfe.util;
2
 
3
import br.com.swconsultoria.certificado.CertificadoService;
4
import br.com.swconsultoria.certificado.exception.CertificadoException;
5
import br.com.swconsultoria.nfe.dom.ConfiguracoesNfe;
6
import br.com.swconsultoria.nfe.exception.NfeException;
7
 
8
/**
9
 * Classe Responsavel Por Carregar as informações do Certificado Digital
10
 *
11
 * @author Samuel Oliveira
12
 *
13
 */
14
public class ConfiguracoesUtil {
15
 
16
     /**
17
     * Recebe como parâmetro um objeto ConfiguracoesNfe e Inicializa as COnfigurações e retorna um objeto
18
     * ConfiguracoesNfe.
19
     *
20
     * <p>
21
     * Semelhante ao método iniciaConfiguracoes(), o Certificado Digital será
22
     * validado e inicializado.Caso ocorrá algum prolema será disparado um
23
     * NfeException
24
     * </p>
25
     *
26
     * @param configuracoesNfe
27
     * @return ConfiguracoesWebNfe
28
     * @throws NfeException
29
     * @see CertificadoException
30
     * @see ConfiguracoesWebNfe
31
     */
32
    public static ConfiguracoesNfe iniciaConfiguracoes(ConfiguracoesNfe configuracoesNfe) throws NfeException {
33
 
34
 
35
        return iniciaConfiguracoes(configuracoesNfe, null);
36
    }
37
 
38
     /**
39
     * Recebe como parâmetro um objeto ConfiguracoesNfe e Inicializa as COnfigurações e retorna um objeto
40
     * ConfiguracoesNfe.
41
     *
42
     * <p>
43
     * Semelhante ao método iniciaConfiguracoes(), o Certificado Digital será
44
     * validado e inicializado.Caso ocorrá algum prolema será disparado um
45
     * NfeException
46
     * </p>
47
     *
48
     * @param configuracoesNfe
49
     * @param cpfCnpj
50
     * @return ConfiguracoesWebNfe
51
     * @throws NfeException
52
     * @see CertificadoException
53
     * @see ConfiguracoesWebNfe
54
     */
55
    public static ConfiguracoesNfe iniciaConfiguracoes(ConfiguracoesNfe configuracoesNfe, String cpfCnpj) throws NfeException {
56
 
57
        ObjetoUtil.verifica(configuracoesNfe).orElseThrow( () -> new NfeException("Configurações não foram criadas"));
58
 
59
        try {
60
            if (!configuracoesNfe.getCertificado().isValido()) {
61
                throw new CertificadoException("Certificado vencido ou inválido.");
62
            }
63
 
64
            if (configuracoesNfe.isValidacaoDocumento() && cpfCnpj != null && !configuracoesNfe.getCertificado().getCnpjCpf().substring(0,8).equals(cpfCnpj.substring(0,8))) {
65
                throw new CertificadoException("Documento do Certificado("+configuracoesNfe.getCertificado().getCnpjCpf()+") não equivale ao Documento do Emissor("+cpfCnpj+")");
66
            }
67
 
68
            if( ObjetoUtil.verifica(configuracoesNfe.getCacert()).isPresent()){
69
                CertificadoService.inicializaCertificado(configuracoesNfe.getCertificado(),configuracoesNfe.getCacert());
70
            }else{
71
                CertificadoService.inicializaCertificado(configuracoesNfe.getCertificado());
72
            }
73
        } catch (CertificadoException e) {
74
            throw new NfeException(e.getMessage(),e);
75
        }
76
 
77
        return configuracoesNfe;
78
    }
79
 
80
}