ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

This demonstrates possibilities on encrypting, signing, verifying message using the Capicom ActiveX and javascript in a webbrowser. An ASP.NET developers can take note of this technique when you want to invoke to capicom dll to implement PKI infastructure using a browser. I know .NET SmartClient would have been another option where you can use the .NET Framework Libraries to deal with X509Certificates, but you might want to know this technique too:

Source Blog: http://www.feed-squirrel.com/index.cfm?evt=viewItem&ID=36269

  • Use a Memory store and in a web page signs and verifies the sign
  • Create an VB ActiveX with the following code and register it. Also, the CAPICOM dll must be registered. Both activeX could be downloaded from a web site)
  • This code imports a PKCS#12 issued by a subordinader CA. If you want to get it contact me.

Function sign(text As String, P12Path As String, P12Password As String) As String

   ' This function imports a PKCS#12 container (private key and certificate to a
   ' memory store

    Dim store As store
    Dim signedData As signedData
    Dim signer As signer

    Set signer = New signer
    Set signedData = New signedData
    Set store = New store

    store.Open CAPICOM_MEMORY_STORE, "My", CAPICOM_STORE_OPEN_READ_WRITE
    store.Load P12Path, P12Password, CAPICOM_KEY_STORAGE_DEFAULT

    signedData.Content = text
    signer.Certificate = store.Certificates.Item(1)

    szSignedData = signedData.sign(signer, True, CAPICOM_ENCODE_BASE64)
    sign = szSignedData
End Function

  • Create a Web Page with the following javascript functions, invoking those from buttons

function btnSignedData_OnClick()
  {
    var SignedData = new ActiveXObject("AutomaticSign.ASign");

  try
  {
   txtSignedData.value = SignedData.Sign(txtPlainText.value,"c:\\c.p12","1111");
  }
  catch (e)
  {
   alert("An error occurred when attempting to sign the content);
   return false;
  }
  }
  function btnVerifyData_OnClick()
   {
    var CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;
    var CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1; 
    var CAPICOM_VERIFY_SIGNATURE_ONLY = 0;
   // instantiate the CAPICOM objects
   var certificate = new ActiveXObject('CAPICOM.Certificate');
   var SignedData = new ActiveXObject('CAPICOM.SignedData');
   try
   {
    SignedData.Content=txtPlainText.value;
   SignedData.Verify(txtSignedData.value, true, CAPICOM_VERIFY_SIGNATURE_ONLY);
   certificate=SignedData.Certificates(2);
    txtSignerData.value="Certificate :" + certificate.GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME) + "\n";
    txtSignerData.value+= "Issuer     :" + certificate.GetInfo(CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME);
   }
   catch (e)
   {
    alert(e.description);
    return false;
   }
  alert("Signature verified");
 }

Published Thu, May 3 2007 21:09 by shahed

Comments

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Wednesday, June 13, 2007 12:39 PM by Neophytos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Wednesday, June 13, 2007 5:49 PM by Nikolaos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Thursday, June 14, 2007 1:41 PM by Alexander

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Thursday, June 14, 2007 7:25 PM by Vassilios

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Thursday, June 14, 2007 9:37 PM by Yannas

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Friday, June 15, 2007 2:39 PM by Vasilios

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Saturday, June 16, 2007 8:39 PM by Glafkos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Sunday, June 17, 2007 8:30 AM by Othon

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Sunday, June 17, 2007 9:33 PM by Athanasios

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Tuesday, June 19, 2007 9:05 AM by Silvanos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Tuesday, June 26, 2007 12:33 AM by Titos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Friday, July 27, 2007 6:24 AM by Maximos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Friday, July 27, 2007 4:18 PM by Maximos

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Friday, July 27, 2007 9:42 PM by Vardis

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Sunday, July 29, 2007 5:15 AM by Herakles

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Sunday, July 29, 2007 11:22 AM by Kalinikos

Interesting...

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Monday, July 30, 2007 5:31 PM by Romanos

interesting

# re: ASP.NET, Javascript tips: Encrypt /Sign /Verify signed message using Capicom ActiveX

Tuesday, July 31, 2007 4:50 PM by Fotis

interesting

Powered by Community Server (Commercial Edition), by Telligent Systems