public static PfxData ReadCertificate(string pfxPath, string pfxPassword)
{
using (var stream = new FileStream(pfxPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
var pkcs12Store = new Pkcs12Store(stream, pfxPassword.ToCharArray());
var alias = findThePublicKey(pkcs12Store);
var asymmetricKeyParameter = pkcs12Store.GetKey(alias).Key;
var chain = constructChain(pkcs12Store, alias);
return new PfxData { X509PrivateKeys = chain, PublicKey = asymmetricKeyParameter };
}
}