Signing Files

M

Marcelo López

Hello Everybody.

I'm developing an encrypted file system for a college project,

I have to sign a byte[] using a private key. I'm working with WSDE instead
of CAPICOM library.

I have an example in which i find the certificate in the store, and by using
the RSACryptoServiceProvider
i can obtain the private key to sign, only if the certificate EXPORTS its
private key.

So i don't know how can i obtain my own key given when the CA authorized my
certificate, and i don´t know how i have to set the private key to the rsa
object to sign with a specific private key (i could give it an string saved
in my db).

How can i signed it without using CAPICOM, wich results lot confussed to me
??

Regards
Marcelo

My code to sign is something like this:

Microsoft.Web.Services.Security.X509.X509CertificateStore store =
Microsoft.Web.Services.Security.X509.X509CertificateStore.CurrentUserStore(
Microsoft.Web.Services.Security.X509.X509CertificateStore.MyStore );

store.OpenRead();

Microsoft.Web.Services.Security.X509.X509Certificate sender
=(Microsoft.Web.Services.Security.X509.X509Certificate)store.Certificates[0]
;

System.Windows.Forms.MessageBox.Show ("Certificado del que firma:" +
sender.GetName());

RSAParameters sender_private = sender.Key.ExportParameters( true );

// SENDER-SIDE: Sign the text with own private key

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

rsa.ImportParameters( sender_private );

byte[] signature = rsa.SignData( data, new SHA1CryptoServiceProvider() );


return Convert.ToBase64String(signature);
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top