CODIGO FONTE NF ELETRONICA ATUALIZADA 22-02-10
Existe algum link que funcione com os fontes do LOOZE que tem assinatura,transmissão ou alguém tem como me passa-los?apesar de ler e ler ,estou meio perdida na parte de assinatura,transmissao...Obrigada
gente,a maioria das funcções da nfe estou fazendo pelo vb6 mesmo mas p/assinar certificado tive que utilizar o vb.net mesmo(código do pessoal daqui) mas não estou sabendo como chamar me vb6.Gerei a *.tlb e mostra as funcções mas existe um erro uma vez que possui tipos de dados nao existentes no vb6 como exemplo X509Certificate2.Deveria ajustar pra string?
alguem tem alguma ideia??? cõdigo em vb.net abaixo
[txt-color=#e80000]Imports System.Security.Cryptography.Xml
Imports System.Xml
Imports System.Security.Cryptography.X509Certificates
<ComClass(Certificado.ClassId, Certificado.InterfaceId, Certificado.EventsId)> _
Public Class Certificado
#Region [Ô]COM GUIDs[Ô]
[ô] These GUIDs provide the COM identity for this class
[ô] and its COM interfaces. If you change them, existing
[ô] clients will no longer be able to access the class.
Public Const ClassId As String = [Ô]ac0d3e8a-bebd-4f93-865c-cc5e48426694[Ô]
Public Const InterfaceId As String = [Ô]0e354733-b7d0-4a90-b6af-f51c037cad1d[Ô]
Public Const EventsId As String = [Ô]42e19adb-70c4-4edb-b05e-ac76b8b8e08d[Ô]
#End Region
[ô] A creatable COM class must have a Public Sub New()
[ô] with no parameters, otherwise, the class will not be
[ô] registered in the COM registry and cannot be created
[ô] via CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public Function Assinar(ByVal docXML As XmlDocument, ByVal pUri As String, ByVal pCertificado As X509Certificate2) As XmlDocument
Try
[ô] Load the certificate from the certificate store.
Dim cert As X509Certificate2 = pCertificado
[ô] Create a new XML document.
Dim doc As New XmlDocument()
[ô] Format the document to ignore white spaces.
doc.PreserveWhitespace = False
[ô] Load the passed XML file using it[ô]s name.
doc = docXML
[ô] Create a SignedXml object.
Dim signedXml As New SignedXml(doc)
[ô] Add the key to the SignedXml document.
signedXml.SigningKey = cert.PrivateKey
[ô] Create a reference to be signed.
Dim reference As New Reference()
[ô] pega o uri que deve ser assinada
Dim _Uri As XmlAttributeCollection = doc.GetElementsByTagName(pUri).Item(0).Attributes
For Each _atributo As XmlAttribute In _Uri
If _atributo.Name = [Ô]Id[Ô] Then
reference.Uri = [Ô]#[Ô] & _atributo.InnerText
End If
Next
[ô] Add an enveloped transformation to the reference.
Dim env As New XmlDsigEnvelopedSignatureTransform()
reference.AddTransform(env)
Dim c14 As New XmlDsigC14NTransform()
reference.AddTransform(c14)
[ô] Add the reference to the SignedXml object.
signedXml.AddReference(reference)
[ô] Create a new KeyInfo object.
Dim keyInfo As New KeyInfo()
[ô] Load the certificate into a KeyInfoX509Data object
[ô] and add it to the KeyInfo object.
keyInfo.AddClause(New KeyInfoX509Data(cert))
[ô] Add the KeyInfo object to the SignedXml object.
signedXml.KeyInfo = keyInfo
[ô] Compute the signature.
signedXml.ComputeSignature()
[ô] Get the XML representation of the signature and save
[ô] it to an XmlElement object.
Dim xmlDigitalSignature As XmlElement = signedXml.GetXml()
[ô] Append the element to the XML document.
doc.DocumentElement.AppendChild(doc.ImportNode(xmlDigitalSignature, True))
If TypeOf doc.FirstChild Is XmlDeclaration Then
doc.RemoveChild(doc.FirstChild)
End If
Return doc
Catch ex As Exception
Throw New Exception([Ô]Erro ao efetuar assinatura digital, detalhes: [Ô] & ex.Message)
End Try
End Function
Public Function SelecionarCertificado(ByVal CerSerie As String) As X509Certificate2
Dim certificate As New X509Certificate2
Try
Dim certificatesSel As X509Certificate2Collection
Dim store As New X509Store([Ô]MY[Ô], StoreLocation.CurrentUser)
store.Open(OpenFlags.OpenExistingOnly)
Dim certificates As X509Certificate2Collection = store.Certificates.Find(X509FindType.FindByTimeValid, DateTime.Now, True).Find(X509FindType.FindByKeyUsage, X509KeyUsageFlags.DigitalSignature, True)
If (CerSerie = [Ô][Ô]) Then
certificatesSel = X509Certificate2UI.SelectFromCollection(certificates, [Ô]Certificados Digitais[Ô], [Ô]Selecione o Certificado Digital para uso no aplicativo[Ô], X509SelectionFlag.SingleSelection)
If (certificatesSel.Count = 0) Then
certificate.Reset()
Throw New Exception([Ô]Nenhum certificado digital foi selecionado ou o certificado selecionado está com problemas.[Ô])
Else
certificate = certificatesSel.Item(0)
End If
Else
certificatesSel = certificates.Find(X509FindType.FindBySerialNumber, CerSerie, True)
If (certificatesSel.Count = 0) Then
certificate.Reset()
Throw New Exception([Ô]Certificado digital não encontrado[Ô])
Else
certificate = certificatesSel.Item(0)
End If
End If
store.Close()
Return certificate
Catch exception As Exception
Throw New Exception(exception.Message)
Return certificate
End Try
End Function
End Class[/txt-color][txt-color=#e80000] [/txt-color][txt-color=#080808] [/txt-color]
alguem tem alguma ideia??? cõdigo em vb.net abaixo
[txt-color=#e80000]Imports System.Security.Cryptography.Xml
Imports System.Xml
Imports System.Security.Cryptography.X509Certificates
<ComClass(Certificado.ClassId, Certificado.InterfaceId, Certificado.EventsId)> _
Public Class Certificado
#Region [Ô]COM GUIDs[Ô]
[ô] These GUIDs provide the COM identity for this class
[ô] and its COM interfaces. If you change them, existing
[ô] clients will no longer be able to access the class.
Public Const ClassId As String = [Ô]ac0d3e8a-bebd-4f93-865c-cc5e48426694[Ô]
Public Const InterfaceId As String = [Ô]0e354733-b7d0-4a90-b6af-f51c037cad1d[Ô]
Public Const EventsId As String = [Ô]42e19adb-70c4-4edb-b05e-ac76b8b8e08d[Ô]
#End Region
[ô] A creatable COM class must have a Public Sub New()
[ô] with no parameters, otherwise, the class will not be
[ô] registered in the COM registry and cannot be created
[ô] via CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public Function Assinar(ByVal docXML As XmlDocument, ByVal pUri As String, ByVal pCertificado As X509Certificate2) As XmlDocument
Try
[ô] Load the certificate from the certificate store.
Dim cert As X509Certificate2 = pCertificado
[ô] Create a new XML document.
Dim doc As New XmlDocument()
[ô] Format the document to ignore white spaces.
doc.PreserveWhitespace = False
[ô] Load the passed XML file using it[ô]s name.
doc = docXML
[ô] Create a SignedXml object.
Dim signedXml As New SignedXml(doc)
[ô] Add the key to the SignedXml document.
signedXml.SigningKey = cert.PrivateKey
[ô] Create a reference to be signed.
Dim reference As New Reference()
[ô] pega o uri que deve ser assinada
Dim _Uri As XmlAttributeCollection = doc.GetElementsByTagName(pUri).Item(0).Attributes
For Each _atributo As XmlAttribute In _Uri
If _atributo.Name = [Ô]Id[Ô] Then
reference.Uri = [Ô]#[Ô] & _atributo.InnerText
End If
Next
[ô] Add an enveloped transformation to the reference.
Dim env As New XmlDsigEnvelopedSignatureTransform()
reference.AddTransform(env)
Dim c14 As New XmlDsigC14NTransform()
reference.AddTransform(c14)
[ô] Add the reference to the SignedXml object.
signedXml.AddReference(reference)
[ô] Create a new KeyInfo object.
Dim keyInfo As New KeyInfo()
[ô] Load the certificate into a KeyInfoX509Data object
[ô] and add it to the KeyInfo object.
keyInfo.AddClause(New KeyInfoX509Data(cert))
[ô] Add the KeyInfo object to the SignedXml object.
signedXml.KeyInfo = keyInfo
[ô] Compute the signature.
signedXml.ComputeSignature()
[ô] Get the XML representation of the signature and save
[ô] it to an XmlElement object.
Dim xmlDigitalSignature As XmlElement = signedXml.GetXml()
[ô] Append the element to the XML document.
doc.DocumentElement.AppendChild(doc.ImportNode(xmlDigitalSignature, True))
If TypeOf doc.FirstChild Is XmlDeclaration Then
doc.RemoveChild(doc.FirstChild)
End If
Return doc
Catch ex As Exception
Throw New Exception([Ô]Erro ao efetuar assinatura digital, detalhes: [Ô] & ex.Message)
End Try
End Function
Public Function SelecionarCertificado(ByVal CerSerie As String) As X509Certificate2
Dim certificate As New X509Certificate2
Try
Dim certificatesSel As X509Certificate2Collection
Dim store As New X509Store([Ô]MY[Ô], StoreLocation.CurrentUser)
store.Open(OpenFlags.OpenExistingOnly)
Dim certificates As X509Certificate2Collection = store.Certificates.Find(X509FindType.FindByTimeValid, DateTime.Now, True).Find(X509FindType.FindByKeyUsage, X509KeyUsageFlags.DigitalSignature, True)
If (CerSerie = [Ô][Ô]) Then
certificatesSel = X509Certificate2UI.SelectFromCollection(certificates, [Ô]Certificados Digitais[Ô], [Ô]Selecione o Certificado Digital para uso no aplicativo[Ô], X509SelectionFlag.SingleSelection)
If (certificatesSel.Count = 0) Then
certificate.Reset()
Throw New Exception([Ô]Nenhum certificado digital foi selecionado ou o certificado selecionado está com problemas.[Ô])
Else
certificate = certificatesSel.Item(0)
End If
Else
certificatesSel = certificates.Find(X509FindType.FindBySerialNumber, CerSerie, True)
If (certificatesSel.Count = 0) Then
certificate.Reset()
Throw New Exception([Ô]Certificado digital não encontrado[Ô])
Else
certificate = certificatesSel.Item(0)
End If
End If
store.Close()
Return certificate
Catch exception As Exception
Throw New Exception(exception.Message)
Return certificate
End Try
End Function
End Class[/txt-color][txt-color=#e80000] [/txt-color][txt-color=#080808] [/txt-color]
Os links da dll e codigo fontes estão quebrados, dá erro 404. Alguém acerta isso por gentileza!
Looze;
A VERSÃO QUE VC ESTA DESENVOLVENDO E PARA A 2.0?
Temos Que Ficar Atento Pois a versão de 2,0 jaja será obrigatóriedade, eu tenho Sistema simples para a NF-e, onde só Gera o TXT, Como Disse é [Ô]BEM SIMPLES[Ô], rsrsrsrsrs ...
Mais estou kerendo englobar Nele XML.
Meu Projeto Gera o txt e o usuario Precisa utiliza o Emissor Gratuito, Pois Como e Um sistema [Ô]SIMPLES[Ô] naum valida, assina e nem transmite, ISSO facilita muito para alguns Clientes, e Digo [Ô]VENDE MUITO[Ô].
Quem tiver interresse em obte-lo so me add no MSN: lauro_jls @ hot ...
PARA OS AMIGOS DE FORUM, CLARO Q SERA GRATUITO!
ABRAÇO E PARABENS Looze!!!!
A VERSÃO QUE VC ESTA DESENVOLVENDO E PARA A 2.0?
Temos Que Ficar Atento Pois a versão de 2,0 jaja será obrigatóriedade, eu tenho Sistema simples para a NF-e, onde só Gera o TXT, Como Disse é [Ô]BEM SIMPLES[Ô], rsrsrsrsrs ...
Mais estou kerendo englobar Nele XML.
Meu Projeto Gera o txt e o usuario Precisa utiliza o Emissor Gratuito, Pois Como e Um sistema [Ô]SIMPLES[Ô] naum valida, assina e nem transmite, ISSO facilita muito para alguns Clientes, e Digo [Ô]VENDE MUITO[Ô].
Quem tiver interresse em obte-lo so me add no MSN: lauro_jls @ hot ...
PARA OS AMIGOS DE FORUM, CLARO Q SERA GRATUITO!
ABRAÇO E PARABENS Looze!!!!
Amigos quem tiver a documentação que o Looze e alguns amigos aqui do vbmania fizeram por favor poste aqui, pois retiraram todo o material que tinha. e pelo que vi nos topicos anteriores parece que o Looze esta vendendo a Dll e os fontes. Nada contra isso, mas vcs pararam pra pensar que muitos colegas ajudaram nessa empreitada e que isso era para todos os participantes deste forum? Crucificaram o Iceman porque ele estava vendendo a Dll dele e agora outros podem fazer isso e ficar por isso mesmo??? Se não vão compartilhar pra que esse topico ainda esta aberto??? Ja virou esculhumbação. Se realmente vai vender, põe o preço e fecha esse topico! Quem quiser que compre!!! Mas não se esqueçam que qdo começou esse tópico o assunto era desenvolver uma dll em vb.net que fizesse a trasmissão dos arquivos e etc, mas com codigo aberto e todos puderem ajudar pro bem da comunidade e bla bla bla, no final vimos que não foi nada disso!!! Desculpem, mas desabafei.
bom dia galera do vbmania.....
eu gostaria de entrar de cabeça na NF-e, mas primeiro gostaria de tirar algumas duvidas....
1° quais são os principais codigos que eu preciso conhecer para começar a estudar e entender a NF-e?
2° vamos supor que ja esta quase tudo pronto o projeto e preciso integrar a NF-e, oq eu devo fazer?
3° Quais são os arquivos que preciso para NF-e.....
fico no aguardo......
eu gostaria de entrar de cabeça na NF-e, mas primeiro gostaria de tirar algumas duvidas....
1° quais são os principais codigos que eu preciso conhecer para começar a estudar e entender a NF-e?
2° vamos supor que ja esta quase tudo pronto o projeto e preciso integrar a NF-e, oq eu devo fazer?
3° Quais são os arquivos que preciso para NF-e.....
fico no aguardo......
ahhh eu programo em vb6..........
vale apena comprar?
NFeDLL - VB6
Solução NF-e para integração com sistemas escrito na linguagem VB6. Contempla Carta de Correção Eletrônica (CC-e), envio de email, aviso de expiração de certificado, proxy e muito mais. Acompanha fonte VB6 do aplicativo de Testes de Funcionalidades com exemplo de todos os métodos do projeto. Neste pacote inclui o serviço de suporte e evolução do produto por 1 ano para manutenções corretivas, alterações de legislação e atendimento via helpdesk.
R$ 900,00
http://www.asscomponentes.com.br/pacote_detalhe.php?id=2
NFeDLL - VB6
Solução NF-e para integração com sistemas escrito na linguagem VB6. Contempla Carta de Correção Eletrônica (CC-e), envio de email, aviso de expiração de certificado, proxy e muito mais. Acompanha fonte VB6 do aplicativo de Testes de Funcionalidades com exemplo de todos os métodos do projeto. Neste pacote inclui o serviço de suporte e evolução do produto por 1 ano para manutenções corretivas, alterações de legislação e atendimento via helpdesk.
R$ 900,00
http://www.asscomponentes.com.br/pacote_detalhe.php?id=2
ESTOU NO MESMO BARCO, TENHO SISTEMA ADMINISTRATIVO e PRECISO FAZER A NFELETRONICA, com os dados do meu sistema em VB6.0 ALGUEM POIDE ME AJUDAR COM URGENCIA.. HELP. dzsistemas@terra.com.br, se alguem tiver interesse em ajudar segue o email.
Obrigado
Obrigado
Citação::
[txt-size=1] ATUALIZADO 22-02-10 BAIXE AQUI DLL PARA NFE.
[/txt-size]
Pessoal bom dia.
Fiquei maluco de tanto rodar atraz de uma solução para nota fiscal eletronica.
ESTOU eu mesmo fazendo. Vou desenvolver uma DLL no proprio VB6 somente para gerar o arquivo XML.
Espero com isso poder liberar a DLL assim que concluido para os colegas.
Continua.....
Eu tenho um sistema completo em VB 6.com banco de dados access para agência de veÃculos e outros segmentos como: Auto peças, lojas em geral e empresas de serviço como: centro automotivo, Salão de beleza, clÃnicas, etc .... Preciso de um programador para fazer a parte fiscal de meu sistema com, NFe, NFCe, NFSe, PDV que no fututo vaio ser tudo NFCe tem alguém que tenha alguma coisa pronta ou está interessado em pegar o serviço?
Tópico encerrado , respostas não são mais permitidas