Mega Code Archive

 
Categories / VB.Net / Security
 

DSA Verify Demo

Imports System Imports System.IO Imports System.Security.Cryptography Imports System.Text Public Class DSASign          Public Shared Sub Main(ByVal CmdArgs() As String)         If CmdArgs.Length <> 3 Then             Console.WriteLine("usage: DSAVerify <key xml> <data> <sign>")             End         End If         Dim xkey As String = LoadString(CmdArgs(0))         Dim data() As Byte = (New ASCIIEncoding).GetBytes(LoadString(CmdArgs(1)))          Dim xsig As String = LoadString(CmdArgs(2))         Dim dsa As DSACryptoServiceProvider = New DSACryptoServiceProvider         dsa.FromXmlString(xkey)         Dim xsigAsByte() As Byte = New Byte(xsig) {}         Dim verify As Boolean         verify = dsa.VerifyData(data, xsigAsByte)         Console.WriteLine("Signature Verification is {0}", verify)     End Sub     Shared Public Sub SaveString(ByVal fname As String, ByVal data As String)         Dim datas() As Byte = (New ASCIIEncoding).GetBytes(data)         Dim fs As FileStream = File.OpenWrite(fname)         fs.SetLength(0)         fs.Write(datas, 0, datas.Length)         fs.Close()     End Sub          Shared Public Function LoadString(ByVal fname As String) As String         Dim finfo As FileInfo = New FileInfo(fname)         Dim length As String = CType(finfo.Length, String)         Dim buf() As Byte = New Byte(length) {}         Dim fs As FileStream = File.OpenRead(fname)         fs.Read(buf, 0, buf.Length)         fs.Close()         Return (New ASCIIEncoding).GetString(buf)     End Function End Class