private void button1_Click(object sender, EventArgs e) { var certificado = CertificadoHelper.Consultar(StoreName.My, StoreLocation.CurrentUser, textCertificado.Text, TipoConsultaCertificado.PorNroSerie); if (certificado == null) { throw new Exception("Certificado Digital não encontrado! SERIALNUMBER= " + textCertificado.Text + "."); } string chave = "43" + DateTime.Now.ToString("yy") + textCNPJ.Text + "55" + textSerie.Text + text1.Text.PadLeft(9, '0') + text2.Text.PadLeft(9, '0'); XmlDocument xmlConsSit = GerarXml("43", certificado); XmlDocument xmlSOAPConsSit = CriarEnvelopeInutNum(xmlConsSit, "43"); //Salvar xml envio //ProcessadorRegistros.SalvarXML(xmlSOAPConsSit, Tipo_Servico_NFE.Solic_Inutilizacao, nfe_id, "inutilizacao_nfe", unid_data, filial, seq); Transmissao trans = new Transmissao(); XmlDocument xmlRetorno = trans.TransmitirNFE(xmlSOAPConsSit, certificado, textWS.Text, null); ////Salvar xml retorno //ProcessadorRegistros.SalvarXML(xmlRetorno, Tipo_Servico_NFE.Solic_Inutilizacao, nfe_id, "ret_inutilizacao_nfe", unid_data, filial, seq); //ProcessarRetorno(filial, nfe_id, seq, xmlRetorno); xmlSOAPConsSit.Save("Inut_" + chave + ".xml"); textResult.Text = xmlRetorno.InnerXml; xmlRetorno.Save("Ret_Inut_" + chave + ".xml"); }
/// <summary> /// Metodos para testar se o certificado está retornando corretamente /// </summary> /// <param name="nomeCertificado"></param> /// <param name="senhaCertificado"></param> /// <returns></returns> public static X509Certificate2 RetornaCertificado(string nomeCertificado, string senhaCertificado) { X509Certificate2 cert = CertificadoHelper .Consultar(nomeCertificado, StoreName.My, StoreLocation.LocalMachine, TipoConsultaCertificado.PorNome); var privateKey = cert.PrivateKey; return(cert); }