アプリケーションのユーザーが、個人の USB セキュリティ トークンを使用して承認に署名できるようにする必要があります。
データに署名することはできましたが、署名に誰のトークンが使用されたかという情報を取得できませんでした。
これが私がこれまでに持っているコードです:
CspParameters csp = new CspParameters(1, "SafeNet RSA CSP");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
// Create some data to sign.
byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 };
Console.WriteLine("Data : " + BitConverter.ToString(data));
// Sign the data using the Smart Card CryptoGraphic Provider.
byte[] sig = rsa.SignData(data, "SHA1");
Console.WriteLine("Signature : " + BitConverter.ToString(sig));
トークンの情報には「トークン名」というフィールドがあります。どのトークンが承認の署名に使用されたかを検証するために、そのフィールドにアクセスするにはどうすればよいですか?
追加情報と更新:
- 「トークン名」は常に所有者の名前 (usb トークンを所有するユーザー) と一致します。
- 認証局から直接情報を取得するために、Web サービスまたは何かを呼び出す必要がある可能性があります。