J'ai généré mon propre X509Certificate2 en C#. Maintenant, comment puis-je créer un autre certificat signé par le premier dans .NET?Comment créer un X509Certificate2 qui est signé par un autre certificat (auto-signé)?
Répondre
Vous devez utiliser l'API non gérée CertCreateSelfSignCertificate pour créer un certificat auto-signé. Pour pouvoir sélectionner la longueur de clé, vous devez utiliser une partie non documentée des paramètres dwFlags
(voir here). Je ne connais pas de façon simple de créer une PKI avec les certificats créés manuellement comme vous pouvez le faire avec MakeCert.exe (voir mon old answer). Il y a quelques années, j'ai écrit le code non géré correspondant en C++, mais le code est relativement long. Le code consiste principalement à créer manuellement tous les éléments du certificat et l'utilisation de CryptSignAndEncodeCertificate à la fin pour chanter le certificat avec la clé privée d'un autre certificat. Les exemples de code this et this peuvent probablement vous aider.