DSA Example[Back] DSA The Digital Signature Algorithm (DSA) is a United States Federal Government standard or FIPS for digital signatures [Theory]
|
Sample code
public void dsa(string message) { Tamir.SharpSsh.jsch.JSch jsch = new Tamir.SharpSsh.jsch.JSch(); string pkey = ""; pkey = message; // Test phrase int keysize = 1024; int type = Tamir.SharpSsh.jsch.KeyPair.DSA; Tamir.SharpSsh.jsch.KeyPair kpair = Tamir.SharpSsh.jsch.KeyPair.genKeyPair(jsch, type, keysize); try { Stream pri = new MemoryStream(); Stream pub = new MemoryStream(); kpair.setPassphrase(pkey); kpair.writePublicKey(pub, pkey); kpair.writePrivateKey(pri); fingerprint = kpair.getFingerPrint(); pri.Position = 0; pub.Position = 0; byte[] buffer = new byte[pri.Length]; pri.Read(buffer, 0, (int)pri.Length); tbPrivate = ByteToAscii(buffer); buffer = new byte[pub.Length]; pub.Read(buffer, 0, (int)pub.Length); tbPublic = ByteToAscii(buffer); pri.Close(); pub.Close(); } catch (Exception ex) { tbPublic = ex.Message; } } public static string ByteToAscii(byte[] buff) { string sbinary = ""; for (int i = 0; i < buff.Length; i++) { sbinary += (char)buff[i]; // hex format } return (sbinary); }