//Tutorial: Generating a new DSA key for user authentication
private static void GenerateDSAKey() {
//DSA KEY GENERATION TEST
byte[] testdata = Encoding.ASCII.GetBytes("CHRISTIAN VIERI");
DSAKeyPair kp = DSAKeyPair.GenerateNew(2048, new Random());
//sign and verify test
byte[] sig = kp.Sign(testdata);
kp.Verify(sig, testdata);
//export / import test
SSH2UserAuthKey key = new SSH2UserAuthKey(kp);
key.WritePublicPartInOpenSSHStyle(new FileStream("newdsakey.pub", FileMode.Create));
key.WritePrivatePartInSECSHStyleFile(new FileStream("newrsakey.bin", FileMode.Create), "comment", "passphrase");
//read test
SSH2UserAuthKey newpk = SSH2UserAuthKey.FromSECSHStyleFile("newrsakey.bin", "passphrase");
}