MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    Assinar xml da nfe com capicom

    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 546
    Registrado : 30/08/2010

    Assinar xml da nfe com capicom Empty Assinar xml da nfe com capicom

    Mensagem  NADIRONUNES 9/5/2021, 23:01

    boa noite a todos

    fiz uma pesquisa na net como assinar a xml da nota fiscal eletronica e encontrei esse codigo em vb.net, alguem consegue me ajudar a converte-lo pro access pra assinar uma xml
    Código:
       Private Sub AssinarDocumentoXML(ByVal ArqXMLAssinar As String, ByVal TagXML As String)
             'Pega o conteúdo XML que será assinado
             Dim srdDocXml As StreamReader
             Dim strXML As String
             Dim strTagXml As String = TagXML

             srdDocXml = file.OpenText(ArqXMLAssinar)
             strXML = srdDocXml.ReadToEnd()
             srdDocXml.Close()

             'Representa uma coleção de objetos X509Certificate2
             Dim objColecaoCertificadosX509 As X509Certificate2Collection = Nothing

             'Instância que representa um certificado X509
             Dim objCertificadoX509 As New X509Certificate2()

             'Representa o local onde os certificados X509 são armazenados e
             'seleciona os certificados locais e do usuário atual
             Dim getCertificadosX509 As New X509Store("MY", StoreLocation.CurrentUser)

             'Abrir em modo de leitura e apenas os certificados existentes
             getCertificadosX509.Open (OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)

             'Procure por certificados usando o número serial como parâmetro, o último parâmetro indica para a
             'função retornar somente certificados válidos
             objColecaoCertificadosX509 = getCertificadosX509.Certificates.Find(X509FindType.FindBySerialNumber, p_NumeroSerialCertificado, True)

             'Verifica se existe algum certificado selecionado
             If objColecaoCertificadosX509.Count > 0 Then

               'Selecionar o certificado e armazena na váriavel
               objCertificadoX509 = objColecaoCertificadosX509.Item(0)
               Dim docXML = New XmlDocument() 'Iniciamos um novo documento XML

               docXML.preserveWhiteSpace = False 'Não deixar espaços no documento
               docXML.Load (ArqXMLAssinar) 'Carrega o XML

               'Retorna a quantidade de tags de assinatura, deve existir apenas uma.
               If docXML.getElementsByTagName(strTagXml).Count = 1 Then

                 'Classe usada para assinar o documento XML
                 Dim signedXml As New Xml.SignedXml(docXML)
                 'Configura a chave de assinatura
                 SignedXml.SigningKey = objCertificadoX509.PrivateKey

                 'Representa o elemento de referência da assinatura digital do XML
                 Dim Referencia As New Xml.Reference()
                 ' Representar a idendificação do elemento de assinatura
                 Referencia.Uri = ""

                 'Essa classe remove os elementos de assintura <Signature> antes de
                 'criar um digest do documento XML.
                 Dim env As New XmlDsigEnvelopedSignatureTransform

                 'Adicionamos o elemento na referência
                 Referencia.AddTransform (env)

                 'Representa a canonização C14N XML
                 Dim c14 As New XmlDsigC14NTransform

                 'Adicionamos o elemento na referência
                 Referencia.AddTransform (c14)

                 'Adiciona as referências na assinatura
                 SignedXml.AddReference (Referencia)

                 'A Classe KeyInfo representa o elemento <KeyInfo> da assinatura digital
                 Dim KeyInfo As New KeyInfo

                 'Carrega o certificado usando o objetoKeyInfoX509Data e
                 'adiciona ao elemento <KeyInfo>
                 KeyInfo.AddClause(New KeyInfoX509Data(objCertificadoX509))

                 'Adiciona o objeto KeyInfo na assinatura
                 SignedXml.KeyInfo = KeyInfo
                 'Computa a assinatura digital
                 signedXml.ComputeSignature()

                 'Cria um novo elemento XML
                 Dim xmlDigitalSignature As XmlElement
                 'Pega a assinatura digital e adiciona ao elemento
                 xmlDigitalSignature = SignedXml.GetXml()

                 ' Gravar o elemento no final do documento XML
                 docXML.documentElement.appendChild (docXML.importNode(xmlDigitalSignature, True))

                 'Salva o documento XML já assinado
                 Dim EscreverXML As New StreamWriter(ArqXMLAssinar)
                 EscreverXML.Write (docXML.OuterXml)
                 EscreverXML.Close()

               End If

             End If


             MsgBox (ex.Message)
         End Sub
    achei tambem muitas explicacoes neste site
    balaiotecnologico.blogspot.com/2012/07/assinando-documentos-xml-com-capicom-e.html
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 546
    Registrado : 30/08/2010

    Assinar xml da nfe com capicom Empty Re: Assinar xml da nfe com capicom

    Mensagem  NADIRONUNES 11/5/2021, 16:37

    Alguem ?
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 546
    Registrado : 30/08/2010

    Assinar xml da nfe com capicom Empty Re: Assinar xml da nfe com capicom

    Mensagem  NADIRONUNES 17/5/2021, 15:49

    up?
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 546
    Registrado : 30/08/2010

    Assinar xml da nfe com capicom Empty Re: Assinar xml da nfe com capicom

    Mensagem  NADIRONUNES 2/6/2021, 13:56

    up?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3724
    Registrado : 22/11/2016

    Assinar xml da nfe com capicom Empty Re: Assinar xml da nfe com capicom

    Mensagem  DamascenoJr. 5/4/2022, 00:18



    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 26/1/2023, 22:36