2011-01-04 12 views
0

私はC#でSAMLアサーションを作成しようとしていますが、私はWSSecurityTokenSerializerクラスのWriteTokenメソッドを使用して、それをシリアライズしようとすると、それは私に次の例外デジタル証明書およびSAMLシリアライズ

を与える「秘密鍵は、中には存在しません2007/01/01 -b」私は、次のコマンドを使用して証明書を作成した

makecert -r -pe -n "X.509証明書のCN =のCompanyxyzサーバー" -e 01/01/2012 - スキー交換Server.cer

SAMLアサーションの作成については、link textから

私は秘密鍵を含む証明書をどのように生成するのだろうと思っています。 これは、署名されていないSAMLアサーションの周囲に(作成/読み取り)する方法です。

+0

あなたが署名のためにそれを使用しているので、それは「-sky署名」ではないでしょうか?証明書を取得して使用しようとするコードのバージョンを含めることはできますか?私は共有できるいくつかのサンプルコードを持っていますが、署名は "手動で"(WCFを使用せずに)行います。 – JST

答えて

3

私はそれを理解しました。 .cer証明書ファイルを使用する代わりに、.pfxファイルを使用し、X509Certificate2の初期化中に秘密鍵パスワードを指定しました。

すなわち

string path = @"D:\projects\SAMLDemo\Server.pfx"; 

X509Certificate2 cert = new X509Certificate2(path,"password"); 
+0

優秀!私が言及したサンプルコードには、必要に応じてパスワードを指定する方法が含まれていました。 – JST

+0

ありがとうShanni!私がここに来る前に、私は頭を数回壁にぶつけた。 –

関連する問題