Tuesday 19 March 2013

How To Use Digital Signature in Asp.net


How To Use Digital Signature in Asp.net 

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.Security.Cryptography.X509Certificates;
using System.IO;
using System.Text;

public partial class FMS_x509test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        test();
        
    }
    public void test()
    {

        X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
        store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadWrite);
        //Put certificates from the store into a collection so user can select one.
        X509Certificate2Collection fcollection = (X509Certificate2Collection)store.Certificates;
        X509Certificate2Collection collection = X509Certificate2UI.SelectFromCollection(fcollection, "Select an X509 Certificate", "Choose a certificate to examine.", X509SelectionFlag.SingleSelection);
        
        X509Certificate2 certificate = collection[0];
       // X509Certificate2UI.DisplayCertificate(certificate);
        RSACryptoServiceProvider csp = null;
        csp = (RSACryptoServiceProvider)certificate.PrivateKey;
        // Hash the data
        SHA1Managed sha1 = new SHA1Managed();
        UnicodeEncoding encoding = new UnicodeEncoding();
        byte[] data = encoding.GetBytes("Lokesh");
        byte[] hash = sha1.ComputeHash(data);
        byte[] signature = csp.SignHash(hash, CryptoConfig.MapNameToOID("SHA1"));

       //Verification Code
        
        
        RSACryptoServiceProvider csp1 = (RSACryptoServiceProvider)certificate.PublicKey.Key;

        // Hash the data
        SHA1Managed sha11 = new SHA1Managed();
        UnicodeEncoding encoding1 = new UnicodeEncoding();
        byte[] data1 = encoding.GetBytes("Lokesh");
        byte[] hash1 = sha1.ComputeHash(data1);

        // Verify the signature with the hash
        if (csp1.VerifyHash(hash1, CryptoConfig.MapNameToOID("SHA1"), signature))
        {
            Response.Write("<script language=javascript> alert('correct');</script/>");
        }
        else
        {
            Response.Write("<script language=javascript> alert('No correct');</script/>");
        }


        // Sign text


        // byte[] signature = Sign("Test", "cn=Dashputre Jaideep JYD");
    }
}

Wednesday 13 March 2013

Get Current Page Name in Asp.Net

Here I will explain  How toGet  Current page name in Asp.Net using C# and Vb.Net

C# Code 


 public static string GetCurrentPageName()
    {
        string sPath = System.Web.HttpContext.Current.Request.Url.AbsolutePath;
        System.IO.FileInfo oInfo = new System.IO.FileInfo(sPath);
        string sRet = oInfo.Name;
        return sRet;
    }


Vb.Net

    Public Shared Function GetCurrentPageName() As String
        Dim sPath As String = System.Web.HttpContext.Current.Request.Url.AbsolutePath
        Dim oInfo As System.IO.FileInfo = New System.IO.FileInfo(sPath)
        Dim sRet As String = oInfo.Name
        Return sRet
    End Function

Check Internet Connection in Asp.net

We can check internet connectivity of system by downloading  data of a website from server for that code like as shown below.

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Check Internet Connection Availability using Asp.net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button runat="server" ID="btnCheck" Text="Check Internet Connectivity" OnClick="btnCheck_Click"/>
<asp:Label runat="server" ID="lbltxt" />
</div>
</form>
</body>
</html>
C# Code 
using System;
using System.Net;
protected void btnCheck_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
byte[] datasize = null;
try
{
datasize = client.DownloadData("http://www.google.com");
}
catch (Exception ex)
{
}
if (datasize != null && datasize.Length > 0)
lbltxt.Text = "Internet Connection Available.";
else
lbltxt.Text = "Internet Connection Not Available.";
}
Vb.Net
Imports System.Net
Partial Class VBCode
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

End Sub
Protected Sub btnCheck_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim client As New WebClient()
Dim datasize As Byte() = Nothing
Try
datasize = client.DownloadData("http://www.google.com")
Catch ex As Exception
End Try
If datasize IsNot Nothing AndAlso datasize.Length > 0 Then
lbltxt.Text = "Internet Connection Available."
Else
lbltxt.Text = "Internet Connection Not Available."
End If
End Sub
End Class
 

Tuesday 12 March 2013

Convert String XML to Datatable in C#

Here I will explain how to convert xml string to dataset or xml string to datatable in Asp.Net  using C# And Vb.Net

C#

WebClient web = new WebClient();
string url = string.Format("https://api.facebook.com/method/fql.query?query=SELECT url, share_count, like_count, comment_count, total_count, click_count FROM link_stat where url=http://collageprogramming.blogspot.in");
string response = web.DownloadString(url);
DataSet ds = new DataSet();
using (StringReader stringReader = new StringReader(response))
{
ds=new DataSet();
ds.ReadXml(stringReader);
}
DataTable dt = ds.Tables[0];
Vb.Net
Dim web As New WebClient()
Dim url As String = String.Format("https://api.facebook.com/method/fql.query?query=SELECT url, share_count, like_count, comment_count, total_count, click_count FROM link_stat where url=http://collageprogramming.blogspot.in/")
Dim response As String = web.DownloadString(url)
Dim ds As New DataSet()
Using stringReader As New StringReader(response)
ds = New DataSet()
ds.ReadXml(stringReader)
End Using
Dim dt As DataTable = ds.Tables(0)