30% OFF para compra e renovaÇÃo. Comprar agora

Autor Tópico: Autenticação de usuário com e-CPF (Certificado digital)  (Lida 5392 vezes)

Marcos Oliveira

  • Iniciante
  • **
  • Mensagens: 88
    • Email
Autenticação de usuário com e-CPF (Certificado digital)
« Online: Dezembro 18, 2015, 06:15:35 pm »
Olá pessoal boa noite

Alguém teria alguma sugestão de como posso utilizar o certificado digital do cliente (e-CPF)?
A idéia é usar o cpf extraído do certificado digital e utilizar para realizar a autenticação do usuário na aplicação a partir das minhas regras de negócio.
Obs.: utilizo nginx em um servidor linux.
Encontrei estes "tutoriais" na web, porém não consegui assimilar.
http://softwareisart.blogspot.com.br/2011/11/autenticacao-com-certificados-digitais.html
https://www.certisign.com.br/solucoes-corporativas/seguranca-e-gerenciamento/certisignlogin/desenvolvedores

Atenciosamente

Haroldo

  • Expert
  • *****
  • Mensagens: 8440
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #1 Online: Dezembro 19, 2015, 10:01:21 am »
O php em seu servidor não vai conseguir ler o cartão conectado a porta USB.

Pelo menos desconheço dessa caoacidade

flaviomorais

  • Avançado
  • ****
  • Mensagens: 406
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #2 Online: Dezembro 19, 2015, 10:53:11 am »
com certificado A1 seria possível
, se for querer ler de dispositivos fisicos no pc do cliente, tem uns applets java que dizem fazer isso

Olá pessoal boa noite

Alguém teria alguma sugestão de como posso utilizar o certificado digital do cliente (e-CPF)?
A idéia é usar o cpf extraído do certificado digital e utilizar para realizar a autenticação do usuário na aplicação a partir das minhas regras de negócio.
Obs.: utilizo nginx em um servidor linux.
Encontrei estes "tutoriais" na web, porém não consegui assimilar.
http://softwareisart.blogspot.com.br/2011/11/autenticacao-com-certificados-digitais.html
https://www.certisign.com.br/solucoes-corporativas/seguranca-e-gerenciamento/certisignlogin/desenvolvedores

Atenciosamente

Marcos Oliveira

  • Iniciante
  • **
  • Mensagens: 88
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #3 Online: Dezembro 19, 2015, 11:13:59 am »
Obrigado pessoal

Vou pesquisar mais sobre, pois na realidade preciso que seja do certificado A3 (token usb).

Obrigado pela atenção.

Jailton

  • Expert
  • *****
  • Mensagens: 2646
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #4 Online: Dezembro 20, 2015, 04:33:22 pm »
com certificado A1 seria possível
, se for querer ler de dispositivos fisicos no pc do cliente, tem uns applets java que dizem fazer isso

Olá pessoal boa noite

Alguém teria alguma sugestão de como posso utilizar o certificado digital do cliente (e-CPF)?
A idéia é usar o cpf extraído do certificado digital e utilizar para realizar a autenticação do usuário na aplicação a partir das minhas regras de negócio.
Obs.: utilizo nginx em um servidor linux.
Encontrei estes "tutoriais" na web, porém não consegui assimilar.
http://softwareisart.blogspot.com.br/2011/11/autenticacao-com-certificados-digitais.html
https://www.certisign.com.br/solucoes-corporativas/seguranca-e-gerenciamento/certisignlogin/desenvolvedores

Atenciosamente

Applets Java estão sendo cortados o suporte aos navegadores pelos próprios desenvolvedores dos navegadores 'vide google chrome'.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Marcos Oliveira

  • Iniciante
  • **
  • Mensagens: 88
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #5 Online: Dezembro 20, 2015, 05:13:52 pm »
Obrigado Jailton pelo aterta.

Pelo que vi vai ser bem difícil.
Vi uma aplicação que roda em ambiente php para serviço de email (Expresso V3) e que utiliza o certificado digital A3 como possibilidade para login.

Estou buscando informações na comunidade a fim de ver se consigo enxergar uma possível adequação.
(http://comunidadeexpresso.serpro.gov.br/mediawiki/index.php/Admins/Certificados)

Obrigado



Jailton

  • Expert
  • *****
  • Mensagens: 2646
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #6 Online: Dezembro 20, 2015, 05:35:29 pm »
Obrigado Jailton pelo aterta.

Pelo que vi vai ser bem difícil.
Vi uma aplicação que roda em ambiente php para serviço de email (Expresso V3) e que utiliza o certificado digital A3 como possibilidade para login.

Estou buscando informações na comunidade a fim de ver se consigo enxergar uma possível adequação.
(http://comunidadeexpresso.serpro.gov.br/mediawiki/index.php/Admins/Certificados)

Obrigado




Você pode entrar em contato com este pessoal, eles criaram uma API fácil de usar somente para isso, ai você pode integrar no sistema site php super fácil, a api lê todos os certificados,
instalados no windows, ou em arquivos direto mesmo tipo, .pfx, .cer ou ainda ativa o Itoken na hora pro cliente autenticar o A3.
http://www.lacunasoftware.com/
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Marcos Oliveira

  • Iniciante
  • **
  • Mensagens: 88
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #7 Online: Dezembro 20, 2015, 05:56:05 pm »
Valeu Jailton pela indicação.

Vou buscar esta solução. Depois posto aqui o resultado.

Atenciosamente

Marcio Akira Okamura

  • Iniciante
  • **
  • Mensagens: 51
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #8 Online: Março 30, 2017, 12:09:13 pm »
Olá Marcos,

Conseguiu resolver esta necessidade ?
Se importaria em compartilhar como foi ? Pois necessito fazer a mesma coisa... ou até um pouco mais.
Gostaria de registrar/verificar o acesso pelo e-cpf e registrar todos documentos que faço UPLOAD, para o banco de dados.

Abraços.

Marcio Okamura

Marcos Oliveira

  • Iniciante
  • **
  • Mensagens: 88
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #9 Online: Março 30, 2017, 01:06:42 pm »
Prezado Marcio boa tarde

Infelizmente não consegui ainda.
Deixei um pouco de lado a questão devido a falta de tempo, porém ainda quero trabalhar nesta questão e deixar nos nossos sistemas esta possibilidade de autenticação comv istas à questão da segurança e fidelidade na informação pretada pelo usuário logado.
Atenciosamente

batata004

  • Novato
  • *
  • Mensagens: 2
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #10 Online: Janeiro 31, 2018, 11:59:40 am »
Colegas!

É minha primeira postagem aqui forum então se eu cometer algum erro por favor me corrijam.

Estou com a seguinte dúvida: comprei o certificado do tipo A1 para emitir notas fiscais eletronicas na prefeitura aqui de Florianopolis. Já integrei todo o meu sistema com a API da Prefeitura e a forma de gerar a NFe é bem simples: eu realizo um POST contendo um XML e pronto, a Prefeitura gerará a NFe.

Minha dúvida é a seguinte: no final do arquivo XML há várias linhas que preciso preencher no formato abaixo. Como que eu gero essas linhas usando PHP e o certificado do tipo A1? Eu procurei bastante na internet e não descobri como que gero essa parte final do arquivo XML.

Acredito que vários devs estão passando pelo mesmo problema pois quando ligo no suporte da prefeitura eles dizem que muitas outras pessoas já ligaram pra lá pra saber como se faz isso e eles não sabem como responder e que eu teria que consultar um programador (eu sou um programador, pelo menos acho que sou!) para resolver isso!

OBRIGADO!


            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Sign-4.938194207420864E7">

                <ds:SignedInfo>

                    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/>
                    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                    <ds:Reference Id="RefElement-3.496850484729869E7" URI="">
                    <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/>
                    </ds:Transforms>
                    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                    <ds:DigestValue>KsPAoHg2H0y/wSrrOGRihebcE/g=</ds:DigestValue>
                    </ds:Reference>

                </ds:SignedInfo>

                <ds:SignatureValue Id="SignatureValueID-7.454649528132233E7">
                CkDFTzGt0+vg...==
                </ds:SignatureValue>
                <ds:KeyInfo>

                    <ds:X509Data>

                        <ds:X509IssuerSerial>

                            <ds:X509IssuerName>
                            CN=AC Instituto Fenacon RFB G3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, C=BR
                            </ds:X509IssuerName>
                            <ds:X509SerialNumber>1c28f49fd377...</ds:X509SerialNumber>

                        </ds:X509IssuerSerial>

                        <ds:X509Certificate>
                        MIIIPDCCBiSg...
                        </ds:X509Certificate>

                    </ds:X509Data>

                </ds:KeyInfo>

            </ds:Signature>

jorgepopel

  • Expert
  • *****
  • Mensagens: 755
    • iCentro Tecnologia e Sistemas
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #11 Online: Fevereiro 01, 2018, 09:52:02 am »
Potatoe....

Utilize a rotina de assinatura de xml do nfephp.
ele vai preencher essas tags para vc.

Desculpe pela brincadeira com o teu nickname.
hehehehe

batata004

  • Novato
  • *
  • Mensagens: 2
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #12 Online: Fevereiro 01, 2018, 04:43:36 pm »
Amigo @jorgepopel pode me chamar de potato, no stackoverflow meu apelido é potato (eu tenho cara de batata, me chama disso desde crianca :/   )

Mas obrigado por sua ajuda. Eu já analisei todo o codigo do NFEPHP mas sincermanete eu nao consegui isolar somente a funcao que faz autenticacao do XML. Ou seja, eu tenho o XML prontinho pra enviar pra prefeitura, só preciso gerar aquela parte <ds:signature...> pois nao tenho a menor ideia de como fazer isso. Eu sou muito burro nessa area de certificado digital e só ontem de madrugada é que eu descobri que o que eu precisava mesmo era só assinar digitalmente o meu XML. Só que eu nao consegui isolar a funcao de autenticacao! Terias alguma dica de como eu poderia fazer isso pois ela tem muitas outras dependencias... Se nao tiver como isolar vc saberia me dizer quais as minimas funcoes/metodos que eu tenho que executar para conseguir assinar um XML usando o NFEPHP?

GRATÍSSIMO POR SUA AJUDA!!

jorgepopel

  • Expert
  • *****
  • Mensagens: 755
    • iCentro Tecnologia e Sistemas
    • Email
Re:Autenticação de usuário com e-CPF (Certificado digital)
« Responder #13 Online: Fevereiro 01, 2018, 11:54:44 pm »
No NFePHP, tem um arquivo chamado ToolsNFePHP.class.php
deve estar na pasta nfephp/libs/NFe/
nesse arquivo tem o método signXML

é esse que vc vai usar para assinar o teu xml.

veja abaixo como vc pode colocar como código:


Código: [Selecionar]
$local_lib = "../_lib/nfephp/libs/NFe/ToolsNFePHP.class.php";
require_once($local_lib);

$saida_detran = "../_lib/cdv/xml/";

$nfe = new ToolsNFePHP;

if ($xml_detran = $nfe->signXML($docxml, $tagid)) {
$retorno_detran = $xml_detran;
} else {
    echo $nfe->errMsg;
    $retorno_detran = '';
}

return $retorno_detran;