C# HttpClientCertificate是否返回任何";署名;数据?

C# HttpClientCertificate是否返回任何";署名;数据?,c#,https,certificate,smartcard,client-certificates,C#,Https,Certificate,Smartcard,Client Certificates,我正在写一篇关于基于网络的智能卡认证的研究报告。我们已经成功地建立了一个环境,要求在身份验证过程中输入智能卡PIN,但对于生成的HttpClientCertificate是否包含表示签名的任何信息(即,使用智能卡上的PIN/私钥加密的一些任意数据),存在一些分歧 有没有人有处理这种签名的经验?我很难找到描述任何类型的基于web的智能卡/PIN身份验证的示例,然后从验证签名的HttpClientCertificate记录数据。HttpClientCertificate,顾名思义,包含证书(通常在X

我正在写一篇关于基于网络的智能卡认证的研究报告。我们已经成功地建立了一个环境,要求在身份验证过程中输入智能卡PIN,但对于生成的
HttpClientCertificate
是否包含表示签名的任何信息(即,使用智能卡上的PIN/私钥加密的一些任意数据),存在一些分歧


有没有人有处理这种签名的经验?我很难找到描述任何类型的基于web的智能卡/PIN身份验证的示例,然后从验证签名的
HttpClientCertificate
记录数据。

HttpClientCertificate
,顾名思义,包含证书(通常在X.509之后)。因此,它不包含使用智能卡上的PIN/私钥加密的“任意”数据(我假设您实际上试图引用会话身份验证数据)

该证书仅包含静态数据,即

  • 为其颁发证书的公钥
  • 一些元数据(如密钥对的标识信息、公钥密码系统的参数、有效期、使用限制等),以及
  • 该静态数据上的签名,由证书颁发机构(如果证书颁发机构颁发证书)颁发,或使用与证书中的公钥相对应的私钥创建(对于自签名证书/CA根证书,尽管TLS客户端证书不应如此)

因此
HttpClientCertificate
既不包含与证书相关联的私钥,也不包含私钥签名的任何动态数据,以便对TLS会话进行身份验证。

对http证书没有特殊体验,但任何证书都有一个包含公钥(此处:卡的)的签名,并使用相应的私钥(自签名证书)进行签名或者更可能是CA的私钥,它验证了持卡人的身份。谢谢-我想你的评论回答了我的问题-我的印象是这个类上的证书属性代表了你所描述的内容。我们仍在等待服务器管理员设置测试环境来确认。感谢信息-我们对基于证书的身份验证给出了一些非常模糊的要求,因此我问题中的措辞是基于我们当时给出的要求。我们使用的智能卡既有基于PIN的证书,也有数字签名证书。从您的角度看,是否有任何有意义的区别n介于这两者之间?我们只能让基于PIN的身份验证工作,客户告诉我们数字签名更可取,因为他们无法实际定义。