class
Program
{
static void Main(string[] args)
{
X509Certificate2 cert = CreateCertificate();
//cert.ToString();
Console.Write(cert.ToString());
Console.Read();
}
public static X509Certificate2 CreateCertificate()
{
// makecert -r -pe -n "CN=TestUser" -ss my -sr currentuser
// -sky exchange ./TestUser.cer
//const string MakeCert = "C://Program Files//Microsoft Visual Studio 8//Common7//Tools//Bin//makecert.exe";
const string MakeCert = "C://Program Files//Microsoft Visual Studio 8//SDK//v2.0//Bin//makecert.exe";
//string fileName = Path.ChangeExtension(Path.GetTempFileName(), "cer");
string fileName = Path.ChangeExtension("d://", "cer");
string userName = Guid.NewGuid().ToString();
string arguments =
string.Format("-r -pe -n /"CN={0}/" -ss my -sr currentuser -sky exchange /"{1}/"",
userName, fileName);
Process p = Process.Start(MakeCert, arguments);
p.WaitForExit();
byte[] certBytes = ReadFile(fileName);
X509Certificate2 cert = new X509Certificate2(certBytes);
return cert;
}
internal static byte[] ReadFile(string fileName)
{
using (FileStream f = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
int size = (int)f.Length;
byte[] data = new byte[size];
size = f.Read(data, 0, size);
return data;
}
}
}
{
static void Main(string[] args)
{
X509Certificate2 cert = CreateCertificate();
//cert.ToString();
Console.Write(cert.ToString());
Console.Read();
}
public static X509Certificate2 CreateCertificate()
{
// makecert -r -pe -n "CN=TestUser" -ss my -sr currentuser
// -sky exchange ./TestUser.cer
//const string MakeCert = "C://Program Files//Microsoft Visual Studio 8//Common7//Tools//Bin//makecert.exe";
const string MakeCert = "C://Program Files//Microsoft Visual Studio 8//SDK//v2.0//Bin//makecert.exe";
//string fileName = Path.ChangeExtension(Path.GetTempFileName(), "cer");
string fileName = Path.ChangeExtension("d://", "cer");
string userName = Guid.NewGuid().ToString();
string arguments =
string.Format("-r -pe -n /"CN={0}/" -ss my -sr currentuser -sky exchange /"{1}/"",
userName, fileName);
Process p = Process.Start(MakeCert, arguments);
p.WaitForExit();
byte[] certBytes = ReadFile(fileName);
X509Certificate2 cert = new X509Certificate2(certBytes);
return cert;
}
internal static byte[] ReadFile(string fileName)
{
using (FileStream f = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
int size = (int)f.Length;
byte[] data = new byte[size];
size = f.Read(data, 0, size);
return data;
}
}
}