コード例 #1
0
        public static void Assinar2(byte[] bytes, ResponseToSignDocument rp)
        {
            var certificado = rp.Cert;
            var key         = (System.Security.Cryptography.RSACryptoServiceProvider)certificado.PrivateKey;

            rp.Assinatura = key.SignData(bytes, HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1);
        }
コード例 #2
0
        public static X509Certificate2 EscolherCertificado(ResponseToSignDocument rp)
        {
            var certSubject = rp.NomeAssinante + "; " + rp.DocumentoAssinante;
            var store       = new X509Store(StoreName.My.ToString(), StoreLocation.CurrentUser);
            var Key         = new RSACryptoServiceProvider();

            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection  = store.Certificates;
            X509Certificate2Collection fcollection = collection.Find(X509FindType.FindBySubjectName, certSubject, false);

            return(fcollection[0]);
        }
コード例 #3
0
 public Form1()
 {
     rp = new ResponseToSignDocument();
     InitializeComponent();
     lbIdPrefeitura.Text       = rp.IdPrefeitura.ToString();
     lbNomePrefeitura.Text     = rp.NomePrefeitura;
     lbIdSecretaria.Text       = rp.IdSecretaria.ToString();
     lbNomeSecretaria.Text     = rp.NomeSecretaria;
     lbIdAssinante.Text        = rp.IdAssinante.ToString();
     lbNomeAssinante.Text      = rp.NomeAssinante;
     lbTipoPessoa.Text         = rp.TipoPessoa;
     lbDocumentoAssinante.Text = rp.DocumentoAssinante;
     lbDataNascimento.Text     = (rp.DataNascimento.HasValue ? rp.DataNascimento.Value.ToString("dd/MM/yyyy") : "Não disponível.");
     lbEmail.Text          = rp.Email;
     lbNumeroTelefone.Text = rp.Telefone;
     lbMD5Documento.Text   = rp.MD5Documento;
     PDFViewer.src         = rp.URLDocumento;
     PDFViewer.Show();
     rp.Cert = EscolherCertificado(rp);
 }