Advertisement

07.10.2008 at 05:23AM PDT, ID: 23553432
[x]
Attachment Details

Sign a XML file by SmartCard on the .NET

Asked by Wemerson in Delphi.net Programming, C# Programming Language, Encryption for Network Security

Tags: Delphi .Net / C#, cryptographic service provider (CSP) does not support this key algorithm, I have a program in Java signing the XML file with my SmartCard. There is a component paid SecureBlackbox (http://www.eldos.com/sbbdev/), which also makes this signature using my SmartCard

I'm having problems to access the private key of the certificate stored on the chip card.

If i access the private key of a certificate with private key stored on the machine certificate store it works well.....but in the case of the chip card, when i read the X509Certificate2.PrivateKey property, i receive a System.Security.Cryptography.CryptographicException: cryptographic service provider (CSP) does not support this key algorithm
thanks !!!

Note: I have a program in Java signing the XML file with my SmartCard.
              There is a component paid SecureBlackbox (http://www.eldos.com/sbbdev/), which also makes this signature using my SmartCard. Is there any way to make the signature with. Native net.Start Free Trial
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
// Example C#
// Open the My certificate store.
   X509Store storeMy = new X509Store(StoreName.My,
      StoreLocation.CurrentUser);
   storeMy.Open(OpenFlags.ReadOnly);
   X509Certificate2Collection  certs=X509Certificate2UI.SelectFromCollection   
      (storeMy.Certificates, "Selection", "Select a certificate", 
      X509SelectionFlag.SingleSelection);
   X509Certificate2 cert=certs[0];
   storeMy.Close();
 
   // Returns TRUE
   cert.HasPrivateKey;
 
   /* Here i receive a System.Security.Cryptography.CryptographicException: cryptographic service provider (CSP) does not support this key algorithm (It occurs only when i am accessing the private key of the certificate stored on the chip card...if the certificate with private key is stored on the machine certificate store it works well..)*/
   cert.PrivateKey;
 
//Example Delphi® 2007 for Microsoft® .NET
var
  vCertificados : X509Certificate2Collection;
  vStore : X509Store;
begin
  vStore        := nil;
  vCertificados := nil;
  try
    Result := False;
    vStore := X509Store.Create;
    vStore.Open(OpenFlags.ReadOnly);
    vCertificados := vStore.Certificates;
    vCertificados := X509Certificate2UI.SelectFromCollection(vCertificados, "Selection", "Select a certificate", X509SelectionFlag.SingleSelection);
// Returns TRUE
   vCertificados[0].HasPrivateKey;
 
   /* Here i receive a System.Security.Cryptography.CryptographicException: cryptographic service provider (CSP) does not support this key algorithm (It occurs only when i am accessing the private key of the certificate stored on the chip card...if the certificate with private key is stored on the machine certificate store it works well..)*/
   vCertificados[0].PrivateKey;
    vStore.Close;
  finally
    vStore.Free;
    vCertificados.Free;
  end;
end;
[+][-]07.11.2008 at 06:30AM PDT, ID: 21982175

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Delphi.net Programming, C# Programming Language, Encryption for Network Security
Tags: Delphi .Net / C#, cryptographic service provider (CSP) does not support this key algorithm, I have a program in Java signing the XML file with my SmartCard. There is a component paid SecureBlackbox (http://www.eldos.com/sbbdev/), which also makes this signature using my SmartCard
Sign Up Now!
Solution Provided By: DaveHowe
Participating Experts: 1
Solution Grade: B
 
 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_2_20070628