智能卡客户端证书未在Win 2003 x64服务器的个人存储中注册

3
我将从Windows证书存储中使用C#访问智能卡。这在许多系统上表现良好,但是在某些系统上无法正常工作。智能卡证书没有添加到个人证书中。我们需要将其存储到证书存储中才能从C#中访问它,就像这样:
X509Store store = new X509Store(StoreName.My,
    StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs =
    store.Certificates.Find(X509FindType.FindByIssuerName,
    issuerName, false);

系统详情:

  • 操作系统:Windows Server 2003 R2 x64 SP2
  • 使用的CSP是SafeSign Identity Client v3.0.11
  • 系统通过Citrix ICA连接访问,Citrix Presentation Server 4.5。

可以正常工作的内容:

  • 通过智能卡读卡器提供的诊断工具访问卡片(OMNIKEY 3121
  • 在Internet Explorer 7中查看个人证书(工具 > Internet选项 > 内容 > 证书)
  • 基本上我们尝试的所有与该卡相关的功能都可以正常工作,除了...

无法正常工作的内容:

  • 个人证书未复制到个人证书存储区(可以通过certmgr.msc进行检查)

我的猜测是,通过Citrix转发智能卡正常工作,因为我们几乎可以以所有方式访问它,但是CSP没有正确工作。然而,获得CSP的支持并不容易,因此提出了这个问题。我发现奇怪的是,证书可以通过IE7访问,这表明它们在某种Windows存储中可用。

欢迎提出进一步的建议。也许有一种不同的方式可以像IE那样访问智能卡证书吗?

1个回答

0

这个问题的原因是SafeSign Identity Client与64位Windows不兼容。据我所知,官方将在稍后版本中添加支持,预计在2009年秋季。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接