"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je créer facilement des certificats auto-signés en C # en utilisant .NET 4.7.2 et supérieur?

Comment puis-je créer facilement des certificats auto-signés en C # en utilisant .NET 4.7.2 et supérieur?

Publié le 2025-03-05
Parcourir:379

How Can I Easily Create Self-Signed Certificates in C# Using .NET 4.7.2 and Above?

Créez un certificat auto-signé en c #

]

Création d'un certificat auto-signé en C # est une solution pratique pour le cryptage local et d'autres fins de non-communication. Alors que les méthodes P / Invoke impliquant Crypt32.dll sont souvent utilisées, cet article explore des moyens plus faciles d'utiliser le System.Security.Cryptography.x509Certificates Espace (disponible dans .NET 4.7.2 et plus tard).

Évitez d'utiliser p / invoke

]

Nous pouvons utiliser la classe CertificateRequest pour créer des certificats au lieu de compter sur P / Invoke. Cette approche simplifie le processus, réduit le besoin de paramètres complexes et assure une solution plus directe.

générer un certificat

Pour créer un certificat auto-signé, suivez ces étapes:

  1. Utilisez ecdsa.create () pour générer une paire de clés asymétrique.
  2. Utilisez l'objet CertificateRequest pour initialiser la demande avec le nom commun requis (CN), la paire de clés et l'algorithme de hachage.
  3. crée la signification pour générer un certificat avec une période de validité spécifiée.

Exporter le certificat

]

Après avoir généré un certificat, il peut être exporté vers divers formats:

  • pfx (pkcs # 12): contient des clés publiques et privées.

      File.WriteAllBytes("c:\\temp\\mycert.pfx", cert.Export(X509ContentType.Pfx, "P@55w0rd"));
  • cer (clé publique uniquement): certificat codé de base64 qui ne contient pas la clé privée.

      File.WriteAllText("c:\\temp\\mycert.cer", Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks)   "\r\n-----END CERTIFICATE-----");
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3