SELECIONAR UM CERTIFICADO DIGITAL INSTALADO.

TATU 28/07/2015 09:23:16
#449299
Bom dia.
Galera, estou com um probleminha aqui e gostaria de saber se alguém pode me ajudar...

Teria alguma forma de aparecer uma tela em uma aplicação (VB6) onde o usuário poderá selecionar um certificado digital instalado e pegar o número de série daquele certificado digital selecionado?

Agradeço desde já.
TUNUSAT 28/07/2015 15:33:06
#449312
Resposta escolhida
Tatu,

Acho que o que você procura já está pronto.
Por favor, veja:

=====================================================
VB6 - escolher certificado digital - late binding
http://www.flexdocs.com.br/faq/viewtopic.php?p=149&sid=22a3ad542b793b204916b113ae967257
=====================================================
11.2.1. Pega o nome do certificado digital
http://www.flexdocs.com.br/guiaCTe/funcao.certificado.pegar.html
[ô]
[ô] declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
[ô]
Dim resultado As Long [ô] retorna o resultado da consulta do certificado digital
Dim msgResultado As String [ô] retorna a literal do resultado da chamada da DLL
Dim certificado As String [ô] informar o nome do titular do certificado digital que deseja confirmar a existência. Se o conteúdo for omitido, a funcionalidade exibe uma caixa de diálogo com os certificados digitais existentes no repositórios de certificados digitais do usuário corrente para seleção. Caso seja informado um nome do titular do certificado digital, a funcionalidade verifica a existência do certificado digital

resultado = 0 [ô] retorna o resultado da consulta do certificado digital
certificado = [Ô][Ô] [ô] informar o nome do titular do certificado digital
msgResultado = [Ô][Ô] [ô] retorna a literal do resultado da chamada da DLL
[ô]
[ô] referenciando a DLL em late binding
[ô] não é necessário fazer o reference da DLL
[ô] o intelisense não funciona
[ô]
Dim objCTeUtil As Object

Set objCTeUtil = CreateObject([Ô]CTe_Util.Util[Ô])
[ô]
[ô] pega certificado
[ô]
[ô] o texto que retorna no campo Certificado será utilizada para identificar
[ô] o certificado digital em uso para as demais chamadas que necessitam de
[ô] um certificado digital
[ô]
resultado = objCTeUtil.PegaNomeCertificado(certificado, msgResultado)
If resultado < 5403 Then
If InStr(1, certificado, [Ô]Associacao[Ô], vbTextCompare) > 0 Then
MsgBox [Ô]O certificado digital da Associação não é um certificado válido para consumir os WS do CT-e! Procure adquirir um certificado digital válido para prosseguir com os testes...[Ô], vbInformation, [Ô]Resultado[Ô]
End If
MsgBox certificado, vbInformation, [Ô]Informação[Ô] [ô] escolhido um certificado digital
Else
MsgBox msgResultado, vbInformation, [Ô]Resultado[Ô]
End If

[ô]
[ô] libera classe
[ô]
Set objCTeUtil = Nothing
End Sub

=====================================================
CERTIFICADO DIGITAL
http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=411987
=====================================================

[][ô]s,
Tunusat.
TATU 28/07/2015 16:05:50
#449317
TUNUSAT, obrigado meu amigo...ja dei uma olhada e parece que vai funcionar...vlw pela moral...
Tópico encerrado , respostas não são mais permitidas