Comment faire pour extraire le nom de domaine d'un X509Certificate objet au cours de SslStream.AuthenticateAsClient? (.NET4)

J'ai un RemoteCertificateValidationCallback fonction appelée par SslStream.AuthenticateAsClient, qui est passé d'un X509Certificate objet.

Je voudrais extraire le nom de ce certificat, tel que je n'avais passé qu'une chaîne en AuthenticateAsClient, il aurait passé. (En supposant que pas d'autres questions.)

(Remarque: La propriété en question contient le nom de domaine, mais c'est à l'intérieur d'un "CN=..., S=..." etc chaîne formatée.)

Voir aussi: Comment extraire le CN de X509Certificate en Java? (Pose une question similaire pour Java, mais je ne peux pas trouver des catégories similaires .NET mentionné dans les réponses.)

(Suivi d'Eugène de réponse.)
J'ai essayé cette...

var cert2 = new System.Security.Cryptography.X509Certificates.X509Certificate2();
cert2.Import(certificate.GetRawCertData());

... mais cert2.SubjectName.Nom a toujours le CN= etc la mise en forme. Suis-je le fais mal?

désolé de vous déranger, mais s'il vous plaît prendre un coup d'oeil: vous avez accepté la réponse, qui a un seul upvote, tandis que ma réponse a +23 et est certainement beaucoup plus simple et plus sûr (bien que je suppose est venu un peu tard...) envisagez-vous de changer la accepté de répondre? Je demande ce n'est pas pour mon propre ego, mais pour le bénéfice des autres utilisateurs.
Oh, tout à droite, puis. Désolé Adam.

OriginalL'auteur billpg | 2011-12-07