MakeCertで生成された証明書があります。 PeerTrustを使用して、この証明書をWCFメッセージセキュリティに使用します。 c#または.NETを使用して、プログラムを使用して、プログラムを「信頼できる人」のローカルマシン証明書ストアに証明書をインストールできますか?
CERファイルを持っていますが、PFXを作成することもできます。
私はこれが正しいと信じています:
using (X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadWrite);
store.Add(cert); //where cert is an X509Certificate object
}
以下は私にとって良い作品です:
private static void InstallCertificate(string cerFileName)
{
X509Certificate2 certificate = new X509Certificate2(cerFileName);
X509Store store = new X509Store(StoreName.TrustedPublisher, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(certificate);
store.Close();
}
昇格された特権を必要とするLocalMachineに証明書をインストールする代わりに、「CurrentUser」に追加できます(私のために機能します)。
X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
store.Add(cert); //where cert is an X509Certificate object
store.Close();
X509KeyStorageFlagsを使用する必要がありました。PersistKeySet| X509KeyStorageFlags。MachineKeySet解決するフラグ「キーセットが存在しません」後で使用しようとしたときに発生したエラー証明書:
X509Certificate2 certificate = new X509Certificate2(pfxPath, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);
using (X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadWrite);
store.Add(certificate);
store.Close();
}
この記事のおかげで: 証明書ストア内の証明書の秘密鍵は読み取り不可