none
Certificado digital não encontrado no ambiente de produção

    Question

  • Pessoal, estou com um problema ao utilizar o certificado digital no ambiente de produção. Minha aplicação utiliza um certificado digital do tipo A3 para a assinatura da NF-e.

    No ambiente de desenvolvimento (ao dar play no visual studio 2010 - testei no próprio servidor) eu consigo utilizar o certificado sem problemas, mas ao publicar a aplicação no IIS 7.5 do servidor a aplicação não encontra mais o certificado:

    X509Store lStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
    lStore.Open(OpenFlags.ReadOnly);
    
    // Lista os certificados
    lcerts = lStore.Certificates; //AQUI O QUANDO EXECUTO PELO VISUAL STUDIO VEM "1" CERTIFICADO, ATRAVÉS DO IIS VEM "0"

    Alguém sabe o que preciso fazer para que passe a funcionar na aplicação através do IIS também?

    Desde já agradeço!

    Saturday, November 03, 2012 3:08 PM

All replies

  • Amigo, você já verificou se o certificado encontra-se instalado no local correto do servidor ? veja que você está pegando ele da pasta de certificados Pessoais da sua Conta de usuário, isto é, se você usar impersonate na sua aplicação que seja diferente do seu usuário em desenvolvimento você realmente não conseguirá capturar o certificado.

    você pode ver os locais do certificados digitando no executar MMC.EXE

    depois clicar em Arquivo > Adicionar...Snap-in > Certificados

    Outro ponto, no IIS você precisa adicionar o certificado ao website, para isto:

    na tela de administração do IIS Expanda até o seu Default Web Site, clique com o botão direito sobre ele e clique em Editar Ligações

    na tela que abriu, clique em Adicionar > selecione HTTPS no protocolo e então selecione o certificado desejado da lista. se ele não aparecer, tente instalar o seu certificado no diretório Autoridades de Certificação Raiz Confiáveis.

    Fico aguardando e boa sorte


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    Sunday, November 04, 2012 6:03 PM
  • Oi Olavo,

    Não sei bem como devo instalar o certificado no servidor. Instalei normalmente com o aplicativo fornecido, conecto ele na usb (o certificado é A3) e quando executo minha aplicação pelo visual studio ele solicita o PIN e consigo utilizá-lo sem problemas para assinar a NF-e.

    Considerando o que você disse, tentei alterar a primeira linha do código que citei anteriormente para outras formas (Root, etc,.) mas o único modo que ele encontra o certificado correto, o A3, é com os parâmetros "MY" e "CurrentUser".

    Seguindo o procedimento que você passou sobre o "Editar ligações" no IIS, meu certificado não aparece na listagem e no MMC ele também não aparece.

    Você tem algum link do procedimento de inclusão de certificado A3 no diretório de certificados?

    Outra coisa que estou estranhando é que mesmo sem o certificado aparecer no MMC a aplicação encontra ele quando executo pelo Visual Studio, para testes executei a aplicação pelo Visual studio diretamente no servidor com o certificado instalado....

    Alguma ideia?

    Muito obrigado pela ajuda!

    Sunday, November 04, 2012 9:57 PM
  • esse certificado é oficial para funcionamento do NFe ? você instalou pelo instalador fornecido ?

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    Monday, November 05, 2012 12:20 AM
  • Sim, é utilizado no software da receita "Emissor gratuito" e funciona perfeitamente na minha aplicação quando executada através do visual studio, só na versão publicada que adiciono no IIS que a aplicação não o encontra.
    Monday, November 05, 2012 12:24 AM
  • mas me diz uma coisa, sua aplicação roda em impersonate com outro usuário que não o de desenvolvimento ? 

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    Monday, November 05, 2012 12:00 PM
  • não, vc diz habilitar o impersonate no web.config ou  indicar um usuário específico para a aplicação nesta tag correto? Não fiz nenhuma configuração de impersonate no web.config...

    Abc.

    Monday, November 05, 2012 12:09 PM
  • MENSAGEM DE: CERTIFICADO DIGITAL NÃO ENCONTRADO.

    PROBLEMA NA CONEXÃO, A INTERNET FUNCIONA NORMALMENTE, POREM O TEMPO DE RESPOSTA DO MODEM PRA NFE TÁ COM INTERFERÊNCIA. 

    SOLUÇÃO: USAR OUTRA CONEXÃO (MODEM MÓVEL) ATÉ O TEMPO DE RESPOSTA OUTRA CONEXÃO VOLTAR AO NORMAL.

    NORMALMENTE COM 24 H.

    OBS.: A MINHA CONEXÃO É VELOX, USEI UM MODEM DA CLARO POR EMERGÊNCIA, NO OUTRO DIA A VELOX VOLTOU AO NORMAL. 

    ABRAÇO!

    Thursday, November 28, 2013 6:31 PM