Próbuję zainstalować certyfikat w lokalnym magazynie maszyny w niestandardowej akcji. Certyfikat jest zainstalowany, ale kiedy go używać do kwerendy AWS, otrzymuję ten błąd:Instalowanie certyfikatu w akcji niestandardowej .MSI nie działa poprawnie
Object contains only the public half of a key pair. A private key must also be provided.
Instalator działa podwyższone, cel jest Windows Vista.
Jeśli użyję oddzielnego .exe, aby zainstalować dokładnie ten sam certyfikat, używając tego samego kodu, to działa. Czym zatem różni się instalacja certyfikatu przy użyciu Instalatora Windows?
Kod:
private void InstallCertificate(string certificatePath, string certificatePassword)
{
if (IsAdmin())
{
try
{
X509Certificate2 cert = new X509Certificate2(certificatePath, certificatePassword,
X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet);
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();
}
catch (Exception ex)
{
throw new DataException("Certificate appeared to load successfully but also seems to be null.", ex);
}
}
else
{
throw new Exception("Not enough priviliges to install certificate");
}
}