using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace APress.DotNetSecurity.Chapter2.KeyXMLStrings
{
class KeyXMLStringsTester
{
static void Main(string[] args)
{
try
{
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)RSA.Create();
Console.WriteLine("RSA public/private key info in XML is:");
Console.WriteLine(rsa.ToXmlString(true));
Console.WriteLine();
Console.WriteLine("RSA public key info in XML is:");
Console.WriteLine(rsa.ToXmlString(false));
}
catch(CryptographicUnexpectedOperationException cuoe)
{
Console.WriteLine("CryptographicUnexpectedOperationException: "
+ cuoe.Message);
Console.WriteLine(cuoe.StackTrace);
}
catch(CryptographicException ce)
{
Console.WriteLine("CryptographicException: " + ce.Message);
Console.WriteLine(ce.StackTrace);
}
catch(Exception ge)
{
Console.WriteLine("Exception: " + ge.GetType().Name + " " + ge.Message);
Console.WriteLine(ge.StackTrace);
}
finally
{
Console.WriteLine("Press the return key to continue...");
Console.Read();
}
}
private static String ArrayToHexString(byte[] ByteData)
{
StringBuilder retVal = new StringBuilder();
foreach(byte b in ByteData)
{
retVal.Append(b.ToString("X2"));
retVal.Append(" ");
}
retVal.Remove(retVal.Length - 1, 1);
return retVal.ToString();
}
}
}
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace APress.DotNetSecurity.Chapter2.KeyXMLStrings
{
class KeyXMLStringsTester
{
static void Main(string[] args)
{
try
{
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)RSA.Create();
Console.WriteLine("RSA public/private key info in XML is:");
Console.WriteLine(rsa.ToXmlString(true));
Console.WriteLine();
Console.WriteLine("RSA public key info in XML is:");
Console.WriteLine(rsa.ToXmlString(false));
}
catch(CryptographicUnexpectedOperationException cuoe)
{
Console.WriteLine("CryptographicUnexpectedOperationException: "
+ cuoe.Message);
Console.WriteLine(cuoe.StackTrace);
}
catch(CryptographicException ce)
{
Console.WriteLine("CryptographicException: " + ce.Message);
Console.WriteLine(ce.StackTrace);
}
catch(Exception ge)
{
Console.WriteLine("Exception: " + ge.GetType().Name + " " + ge.Message);
Console.WriteLine(ge.StackTrace);
}
finally
{
Console.WriteLine("Press the return key to continue...");
Console.Read();
}
}
private static String ArrayToHexString(byte[] ByteData)
{
StringBuilder retVal = new StringBuilder();
foreach(byte b in ByteData)
{
retVal.Append(b.ToString("X2"));
retVal.Append(" ");
}
retVal.Remove(retVal.Length - 1, 1);
return retVal.ToString();
}
}
}