2017-04-21 1 views
0

Y at-il un moyen d'obtenir nom convivial pour OID valide?Comment obtenir les OID de FirendlyName associés à X509Certificate2?

Par exemple, j'ai l'OID 1.2.840.113549.1.1, qui représente SHA1 with RSA signature. Comment obtenir le nom amical qui retournerait X509Certificate2.SignatureAlgorithm.FriendlyName?

J'ai essayé de créer var oid = new Oid("1.2.840.113549.1.1"), et regardant dans oid.FriendlyName la propriété, il est null.

Répondre

1

Tous les OID n'ont pas de valeurs FriendlyName mappées.

1.2.840.113549.1.1 est l'arc PKCS # 1, mais il n'est jamais utilisé directement, tout comme un espace de noms; Windows ne semble donc pas utile de lui fournir une valeur FriendlyName.

Sha1WithRSAEncryption est 1.2.840.113549.1.1.5 (ou "{ pkcs-1 5 }", si vous préférez), et new Oid("1.2.840.113549.1.1.5").FriendlyName retournera "sha1RSA" sur .NET Framework et Core .NET.

Pour la plupart des OID, la résolution de nom amicale est effectuée en appelant dans les bibliothèques de cryptographie système, mais .NET Core hard codes that one, en s'assurant de faire la même chose sur tous les systèmes d'exploitation.