private MSX509.X509Certificate2 GetCertificate(X509Name name, Usage usage, int validity, MSX509.StoreName storeName, MSX509.X509Certificate2 issuer)
{
// Try to load the certificate from the machine store
MSX509.X509Certificate2 certificate = LoadCertificate(name, storeName, MSX509.StoreLocation.LocalMachine);
if(certificate != null)
return certificate;
// Try to load the certificate from the user store
certificate = LoadCertificate(name, storeName, MSX509.StoreLocation.CurrentUser);
if(certificate != null)
return certificate;
return InternalGenerateCertificate(name, usage, validity, storeName, issuer);
}