CA
、public
およびがあることに関して、私は証明書についてほとんど何も知りませprivate key
ん。を使用してSSOログインを作成していますが、要素SAML 2
を追加することを除いて作業してい<Signature>
ます。
証明書の作成:
makecert.exe
ディレクトリにandのコピーがありpvk2pfx.exe
ます。開いcmd
て次のように入力します。
makecert -r -pe -n "CN=Test Cert" -sky exchange -sv testcert.pvk testcert.cer
ダイアログ ボックスが表示され、パスワードとパスワードの確認を求められます。これを入力します。別のダイアログ ボックスがポップアップ表示され、パスワードを要求されます (これは、以前に入力したものと同じだと思います)。これによりtestcert.cer
、同じディレクトリに が作成されます。
次に、これを入力しますcmd
pvk2pfx -pvk testcert.pvk -spc testcert.cer -pfx testcert.pfx
編集:パスワードを要求されます。private key
を作成したときと同じパスワード ( ) を入力しますcer
。
pfx
ディレクトリにファイルを作成します。
ここで私は混乱しています。cer
ファイルをにインポートするとMMC
、アクセスできます。
X509Certificate2 cert = null;
var store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
var storeCollection = store.Certificates.Find(X509FindType.FindBySubjectName, "Test Cert", false);
if (storeCollection.Count == 1)
{
cert = storeCollection[0];
}
if (cert == null)
{
throw new ArgumentNullException("Certificate", "No certificate found.");
}
store.Close();
ただし、これを行うと、秘密鍵 (プロパティ) はnull
. 秘密鍵がpfx
ファイルにあると読みました。したがって、ストアにアクセスする代わりに、次のようにします。
privateKey
を使用して証明書を作成するときに使用した秘密鍵ですmakecert.exe
X509SigningCredentials clientSigningCredentials = new X509SigningCredentials(
X509Certificate2(@"c:\directory\testcert.pfx", privateKey, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable));
エラーが表示されます:The specified network password is not correct.
また、ファイルの代わりに にpfx
ファイルをインポートしようとしました。パスワードを要求されます。を使用して証明書を作成するために使用したパスワードを入れました。パスワードが間違っていることを常に教えてくれます。MMC
cer
makecert.exe
私は何を間違っていますか?