我们一直流传一组测试sertificates的智能卡开发需要使用PKI签名XML消息的解决方案。每个(物理)智能卡似乎已经存储在其上的两个证书。我将它们导入到使用智能卡供应商提供的软件Windows证书存储区,然后使用代码类似于以下遍历安装的证书:

foreach (X509Certificate2 x509 in CertStore.Certificates) {
  foreach (X509Extension extension in x509.Extensions) {
     if (extension.Oid.Value == "one we are interested in") {
        X509KeyUsageExtension ext = (X509KeyUsageExtension)extension;
        if ((ext.KeyUsages & X509KeyUsageFlags.DigitalSignature) != X509KeyUsageFlags.None) {
            // process certs here

我们已被告知使用具有设置签个XML的不可否认性密钥使用标志的证书。然而,具有不可否认性标志证书有该标志的,而不是用于实例的DigitalSignature标志,该标志我检查上面。这是否打击任何人,但我作为有点奇怪?我在换句话说告诉与不(出现)的证书签名具有的DigitalSignature使用标志集。这是正常的程序是什么?任何意见?

感谢。

有帮助吗?

解决方案

它有哪些关键用?你说得对,这是一个有点古怪,但是如果,例如,钥匙被用于提供AD登录那么它可能不具有的DigitalSignature使用设置的标志。这并不是说你不能将它用于,它只是表明,当你去了关键的指示使用外部证书颁发者不提供担保。

其他提示

正如我读 RFC 5280 (4.2.1.3),不可否认性是一个超集中的DigitalSignature。换句话说,它赋予的DigitalSignature的所有能力,然后一些。因此从技术上讲,他们要求的是有效的,但也许是不寻常的。

如果您想提供一个不可否认性服务,即你要签名有法律价值,那么你应该只使用不可否认性。实际上,这是通过标准的建议(参见ETSI TS 102 280),因为其它的keyUsage比特的用法与nonRepudation一起可以具有安全性问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top