Wie ich es verstehe, werden Sie eine Kopie von IdentityServer mit Ihrem System verteilen, so dass Sie viele Installationen mit ihrem eigenen IdentityServer haben werden.
Grundsätzlich muss IdentityServer Zugriff auf den privaten Schlüssel haben, um seine Token zu signieren. Wenn Sie also das gleiche Zertifikat + den privaten Schlüssel für alle Installationen bereitstellen, könnte eine Installation theoretisch den Token von einem anderen vertrauen. Offensichtlich ist auch der Inhalt der Tokens relevant, aber da dies Ihr System ist, ist es nicht so unwahrscheinlich, dass Bereiche, Ansprüche usw. in verschiedenen Installationen sinnvoll sind.
Wenn Sie eine bösartige Person in den Mix aufnehmen, können sie einfach den Inhalt des Tokens auswählen und unterschreiben, sie könnten sogar den IdentityServer-Code selbst verwenden, da dies Open Source ist.
Sie sollten überprüfen, ob Administratoren eine PFX-Datei laden oder ein Signaturzertifikat konfigurieren können, das in einem Zertifikatspeicher vorhanden ist. Es gibt verschiedene gotchas zu beiden Ansätzen dieser Blog-Post hat einige gute Informationen über Probleme, die auftreten können:
http://paulstovell.com/blog/x509certificate2
Sie auch prüfen wollen, werden, wie Sie Zertifikate erneuern, hat IdentityServer gute Unterstützung für diese, info hier in der Dokumentation:
https://identityserver.github.io/Documentation/docsv2/configuration/crypto.html
Edit:
bei meiner ersten Annahme ist falsch und es nur eine IdentityServer wird die w du wirst unter deiner Kontrolle sein und du wirst nur den öffentlichen Schlüssel verteilen, dann ist das in Ordnung! Hier ist eine gute Erklärung der öffentlichen vs privaten Schlüssel und Terminologie:
https://security.stackexchange.com/questions/29425/difference-between-pfx-and-cert-certificates
Dank @ Matt. Dies bestätigte meine Befürchtungen mit diesem Ansatz. Sieht aus wie ein einzigartiges Zertifikat ist die Lösung hier. – gavins