Quelle est la différence entre les deux?
93
Le certificat x509 été introduit dans .NET v1.0 / 1.1 et était (comparativement) limité dans ses fonctionnalités. Il peut être utilisé pour obtenir des informations sur un certificat existant (dates valides, émetteur, etc.). Il avait des méthodes / opérations simples (c'est-à-dire lire un certificat à partir du disque).
Le x509Certificate2 est une sous-classe de x509Certificate avec des fonctionnalités supplémentaires.
X509Certificate2
a également un membre pour la clé privée, qui ne fait pas partie du certificat lui-même mais qui est pratique à associer à la classe représentant le certificat X.509.Par souci d'exhaustivité, voici une copie de la section correspondante du site liée à la réponse de @ dommer, car le site peut ne plus être disponible et uniquement dans le cache de Google pendant on ne sait combien de temps:
la source
Pour convertir un certificat X.509 de «X509Certificate» en «X509Certificate2», essayez quelque chose comme ceci:
la source
Pour ceux qui souhaitent lire le certificat et l'utiliser pour s'authentifier, il suffit de créer un X509Certificate2 et de transmettre le X509Certificate dans son constructeur.
Pour un assembly signé (l'exe), le code serait un code comme celui-ci, et j'omets la validation des erreurs pour plus de simplicité.
Évidemment, votre classe ne s'appelle pas MyClass mais un objet métier que vous attendez du service Web.
Vous pouvez envoyer une classe à votre action en envoyant la propriété et la valeur dont vous avez besoin. Vous pouvez maintenant vous assurer que la demande que vous avez reçue provient d'un client mobile ou Windows valide en lisant le certificat de demande comme suit:
}
Il ne vous reste plus qu'à configurer votre serveur Web pour accepter les certificats clients ... Vous pouvez tout lire sur les propriétés qui proviennent du nouveau format et vous avez sécurisé votre service Web public, ce que la plupart ne parvient pas à faire car le simple fait d'être autorisé n'est pas suffisant plus (si jamais ça l'a été)
la source