private string Obtener_Certificado(byte[] pCertificado) { Cert loCert = new Cert(); Rsa loRsa = new Rsa(); bool success = true; // Desbloquea componente success = loRsa.UnlockComponent("RSAT34MB34N_7F1CD986683M"); if (success != true) { throw new ArgumentException("No se pudo debloquear componente Chilkat RSA"); } success = loCert.LoadFromBinary(pCertificado); if (success != true) { throw new ArgumentException("No se pudo cargar el archivo certificado"); } string strCertificado = loCert.GetEncoded(); int LongitudCer = strCertificado.Length; strCertificado = strCertificado.Substring(1 - 1, LongitudCer - 2); return(strCertificado); }
/// <summary> /// Obtiene la informacion del certificado /// </summary> /// <param name="rutaArvhivoCertificado"></param> /// <param name="xml"></param> private static void obtenerCertificado(string rutaArchivoCertificado, ref XDocument xml) { try { Cert certificado = new Cert(); if (certificado.LoadFromFile(rutaArchivoCertificado) == false) { return; } if (certificado.Expired == true) { return; } string serie = certificado.SerialNumber; string noCertificado = string.Empty; for (int i = 0; i < serie.Length; i++) { if (i % 2 != 0) { noCertificado += serie.ElementAt(i); } } serie = noCertificado; xml.Root.SetAttributeValue("NoCertificado", noCertificado); xml.Root.SetAttributeValue("Certificado", certificado.GetEncoded()); } catch (Exception ex) { throw ex; } }
public CfdiResult AgregarCertificado(String rutaCert) { Cert cert = new Cert(); if (!cert.LoadFromFile(rutaCert)) { return new CfdiResult() { Mensaje = cert.LastErrorText, Correcto = false } } ; if (cert.Expired) { return new CfdiResult() { Mensaje = "Certificado expirado", Correcto = false } } ; String serie = cert.SerialNumber; String noCertificado = ""; for (int i = 1; i < serie.Length; i += 2) { noCertificado += serie[i]; } this.Certificado = cert.GetEncoded().Replace(Environment.NewLine, ""); this.NoCertificado = noCertificado; return(new CfdiResult()); }