/// <summary> /// Encriptar a tag Assinatura quando for município de Blumenau - SC /// </summary> private void EncryptAssinatura() { ///danasa: 12/2013 NFe.Validate.ValidarXML val = new Validate.ValidarXML(NomeArquivoXML, oDadosEnvLoteRps.cMunicipio); val.EncryptAssinatura(NomeArquivoXML); /* * string arquivoXML = NomeArquivoXML; * * XmlDocument doc = new XmlDocument(); * doc.Load(arquivoXML); * * XmlNodeList pedidoEnvioLoteRPSList = doc.GetElementsByTagName("PedidoEnvioLoteRPS"); * * foreach (XmlNode pedidoEnvioLoteRPSNode in pedidoEnvioLoteRPSList) * { * XmlElement pedidoEnvioLoteRPSElemento = (XmlElement)pedidoEnvioLoteRPSNode; * * XmlNodeList rpsList = doc.GetElementsByTagName("RPS"); * * foreach (XmlNode rpsNode in rpsList) * { * XmlElement rpsElement = (XmlElement)rpsNode; * * * if (rpsElement.GetElementsByTagName("Assinatura").Count != 0) * { * //Encryptar a tag Assinatura * rpsElement.GetElementsByTagName("Assinatura")[0].InnerText = Criptografia.SignWithRSASHA1(Empresas.Configuracoes[Empresas.FindEmpresaByThread()].X509Certificado, * rpsElement.GetElementsByTagName("Assinatura")[0].InnerText); * } * } * } * * //Salvar o XML com as alterações efetuadas * doc.Save(arquivoXML); */ }
/// <summary> /// Encriptar a tag Assinatura quando for município de Blumenau - SC /// </summary> private void EncryptAssinatura() { ///danasa: 12/2013 NFe.Validate.ValidarXML val = new Validate.ValidarXML(NomeArquivoXML, oDadosPedCanNfse.cMunicipio); val.EncryptAssinatura(NomeArquivoXML); /* * string arquivoXML = NomeArquivoXML; * * XmlDocument doc = new XmlDocument(); * doc.Load(arquivoXML); * * XmlNodeList pedidoCancelamentoNFeList = doc.GetElementsByTagName("PedidoCancelamentoNFe"); * * foreach (XmlNode pedidoCancelamentoNFeNode in pedidoCancelamentoNFeList) * { * XmlElement pedidoCancelamentoNFeElemento = (XmlElement)pedidoCancelamentoNFeNode; * * XmlNodeList detalheList = doc.GetElementsByTagName("Detalhe"); * * foreach (XmlNode detalheNode in detalheList) * { * XmlElement detalheElement = (XmlElement)detalheNode; * * * if (detalheElement.GetElementsByTagName("AssinaturaCancelamento").Count != 0) * { * //Encryptar a tag Assinatura * detalheElement.GetElementsByTagName("AssinaturaCancelamento")[0].InnerText = Criptografia.SignWithRSASHA1(Empresas.Configuracoes[Empresas.FindEmpresaByThread()].X509Certificado, * detalheElement.GetElementsByTagName("AssinaturaCancelamento")[0].InnerText); * } * } * } * * //Salvar o XML com as alterações efetuadas * doc.Save(arquivoXML);*/ }
/// <summary> /// Encriptar a tag Assinatura quando for município de Blumenau - SC /// </summary> private void EncryptAssinatura() { ///danasa: 12/2013 NFe.Validate.ValidarXML val = new Validate.ValidarXML(NomeArquivoXML, oDadosPedCanNfse.cMunicipio, false); val.EncryptAssinatura(NomeArquivoXML); }
/// <summary> /// Encriptar a tag Assinatura quando for município de Blumenau - SC /// </summary> private void EncryptAssinatura() { ///danasa: 12/2013 Validate.ValidarXML val = new Validate.ValidarXML(NomeArquivoXML, oDadosEnvLoteRps.cMunicipio, false); val.EncryptAssinatura(NomeArquivoXML); }
private void btn_Validar_Click(object sender, EventArgs e) { LimparEPosicionarTC(); try { if (this.edtFilename.Text == "" || !File.Exists(this.edtFilename.Text)) { this.textBox_resultado.Text = "Arquivo não encontrado."; return; } //Copiar o arquivo XML para temporários para assinar e depois vou validar o que está nos temporários FileInfo oArquivo = new FileInfo(this.edtFilename.Text); string cArquivo = System.IO.Path.GetTempPath() + oArquivo.Name; oArqDestino = new FileInfo(cArquivo); oArquivo.CopyTo(cArquivo, true); //Remover atributo de somente leitura que pode gerar problemas no acesso do arquivo NFe.Service.TFunctions.RemoveSomenteLeitura(cArquivo); NFe.Service.TaskValidar val = new Service.TaskValidar(); val.NomeArquivoXML = oArqDestino.FullName; val.Execute(); int codUF = Empresas.Configuracoes[Emp].UnidadeFederativaCodigo; //Detectar o tipo do arquivo PadroesNFSe padraoNFSe = Functions.PadraoNFSe(Empresas.Configuracoes[Emp].UnidadeFederativaCodigo); if (padraoNFSe == PadroesNFSe.BETHA) { string versao = Functions.GetAttributeXML("LoteRps", "versao", cArquivo); if (versao.Equals("2.02")) { codUF = 202; } } Validate.ValidarXML validarXML = new Validate.ValidarXML(cArquivo, codUF, false); string resultValidacao = ""; XmlDocument conteudoXML = new XmlDocument(); try { conteudoXML.Load(cArquivo); } catch { conteudoXML.LoadXml(File.ReadAllText(cArquivo, System.Text.Encoding.UTF8)); } if (conteudoXML.DocumentElement.Name.Equals("CTe") || conteudoXML.DocumentElement.Name.Equals("MDFe")) { XmlDocument infModal = new XmlDocument(); XmlDocument modal = new XmlDocument(); if (conteudoXML.GetElementsByTagName("infModal")[0] != null) { foreach (XmlElement item in conteudoXML.GetElementsByTagName("infModal")) { infModal.LoadXml(item.OuterXml); modal.LoadXml(item.InnerXml); } Validate.ValidarXML validarModal = new Validate.ValidarXML(infModal, Empresas.Configuracoes[Emp].UnidadeFederativaCodigo, false); resultValidacao += validarModal.ValidarArqXML(modal, cArquivo); } } this.textBox_resultado.Text = validarXML.TipoArqXml.cRetornoTipoArq; if (validarXML.TipoArqXml.nRetornoTipoArq >= 1 && validarXML.TipoArqXml.nRetornoTipoArq <= SchemaXML.MaxID) { this.edtTipoarquivo.Text = validarXML.TipoArqXml.cRetornoTipoArq; //Assinar o arquivo XML copiado para a pasta TEMP bool lValidar = false; AssinaturaDigital oAD = new AssinaturaDigital(); try { validarXML.EncryptAssinatura(cArquivo); oAD.Assinar(cArquivo, Emp, Empresas.Configuracoes[Emp].UnidadeFederativaCodigo, (conteudoXML.DocumentElement.Name.Equals("Reinf") || conteudoXML.DocumentElement.Name.Equals("eSocial") ? AlgorithmType.Sha256 : AlgorithmType.Sha1)); lValidar = true; } catch (Exception ex) { lValidar = false; this.textBox_resultado.Text = "Ocorreu um erro ao tentar assinar o XML: \r\n\r\n" + validarXML.TipoArqXml.cRetornoTipoArq + "\r\n" + ex.Message; } if (lValidar == true) { //Validar o arquivo if (validarXML.TipoArqXml.nRetornoTipoArq >= 1 && validarXML.TipoArqXml.nRetornoTipoArq <= SchemaXML.MaxID) { ///danasa: 12/2013 validarXML.ValidarArqXML(cArquivo); if (string.IsNullOrEmpty(validarXML.TipoArqXml.cArquivoSchema)) { this.textBox_resultado.Text = "XML não possui schema de validação, sendo assim não é possível validar XML"; } else if (validarXML.Retorno == 0 && string.IsNullOrEmpty(resultValidacao)) { this.textBox_resultado.Text = "Arquivo validado com sucesso!"; } else if (!string.IsNullOrEmpty(resultValidacao)) { this.textBox_resultado.Text = resultValidacao; } else { this.textBox_resultado.Text = "XML INCONSISTENTE!\r\n\r\n" + validarXML.RetornoString; } } else { //this.textBox_tipoarq.Text = validarXML.TipoArqXml.cRetornoTipoArq; this.textBox_resultado.Text = "XML INCONSISTENTE!\r\n\r\n" + validarXML.TipoArqXml.cRetornoTipoArq; } } } try { if (wb == null) { wb = new WebBrowser(); wb.Parent = this.metroTabPage2; wb.Dock = DockStyle.Fill; wb.DocumentCompleted += webBrowser1_DocumentCompleted; } wb.Visible = true; wb.Navigate(cArquivo); } catch { webBrowser1_DocumentCompleted(null, null); } } catch (Exception ex) { this.textBox_resultado.Text = ex.Message + "\r\n" + ex.StackTrace; if (wb != null) { wb.Visible = false; } } }
/// <summary> /// Encriptar a tag Assinatura quando for município de Blumenau - SC /// </summary> private void EncryptAssinatura() { ///danasa: 12/2013 NFe.Validate.ValidarXML val = new Validate.ValidarXML(NomeArquivoXML, oDadosEnvLoteRps.cMunicipio); val.EncryptAssinatura(NomeArquivoXML); /* string arquivoXML = NomeArquivoXML; XmlDocument doc = new XmlDocument(); doc.Load(arquivoXML); XmlNodeList pedidoEnvioLoteRPSList = doc.GetElementsByTagName("PedidoEnvioLoteRPS"); foreach (XmlNode pedidoEnvioLoteRPSNode in pedidoEnvioLoteRPSList) { XmlElement pedidoEnvioLoteRPSElemento = (XmlElement)pedidoEnvioLoteRPSNode; XmlNodeList rpsList = doc.GetElementsByTagName("RPS"); foreach (XmlNode rpsNode in rpsList) { XmlElement rpsElement = (XmlElement)rpsNode; if (rpsElement.GetElementsByTagName("Assinatura").Count != 0) { //Encryptar a tag Assinatura rpsElement.GetElementsByTagName("Assinatura")[0].InnerText = Criptografia.SignWithRSASHA1(Empresas.Configuracoes[Empresas.FindEmpresaByThread()].X509Certificado, rpsElement.GetElementsByTagName("Assinatura")[0].InnerText); } } } //Salvar o XML com as alterações efetuadas doc.Save(arquivoXML); */ }
/// <summary> /// Encriptar a tag Assinatura quando for município de Blumenau - SC /// </summary> private void EncryptAssinatura() { ///danasa: 12/2013 NFe.Validate.ValidarXML val = new Validate.ValidarXML(NomeArquivoXML, oDadosPedCanNfse.cMunicipio); val.EncryptAssinatura(NomeArquivoXML); /* string arquivoXML = NomeArquivoXML; XmlDocument doc = new XmlDocument(); doc.Load(arquivoXML); XmlNodeList pedidoCancelamentoNFeList = doc.GetElementsByTagName("PedidoCancelamentoNFe"); foreach (XmlNode pedidoCancelamentoNFeNode in pedidoCancelamentoNFeList) { XmlElement pedidoCancelamentoNFeElemento = (XmlElement)pedidoCancelamentoNFeNode; XmlNodeList detalheList = doc.GetElementsByTagName("Detalhe"); foreach (XmlNode detalheNode in detalheList) { XmlElement detalheElement = (XmlElement)detalheNode; if (detalheElement.GetElementsByTagName("AssinaturaCancelamento").Count != 0) { //Encryptar a tag Assinatura detalheElement.GetElementsByTagName("AssinaturaCancelamento")[0].InnerText = Criptografia.SignWithRSASHA1(Empresas.Configuracoes[Empresas.FindEmpresaByThread()].X509Certificado, detalheElement.GetElementsByTagName("AssinaturaCancelamento")[0].InnerText); } } } //Salvar o XML com as alterações efetuadas doc.Save(arquivoXML);*/ }