|
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography.X509Certificates;
namespace DevAge.ServiceModel
{
static class CertificateHelper
{
/// <summary>
/// Load a certificate from the specified file.
/// The filename can contains the password when using this format: file|password.
/// The file can be a relative file or an absolute file.
/// Return null if the file is not specified.
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public static X509Certificate2 LoadFromFile(string file)
{
if (file != null)
file = file.Trim();
if (string.IsNullOrEmpty(file))
return null;
string[] parts = file.Split('|');
if (parts.Length > 2)
throw new ArgumentException("Certificate file name format not valid, but be in the format 'file|password'");
string fullPath = PathHelper.LocateServerPath(parts[0].Trim());
string password = string.Empty;
if (parts.Length == 2)
password = parts[1];
return new X509Certificate2(fullPath, password);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.