(Gepostet in ServerFault anstelle von StackOverflow, da es meines Erachtens mehr um die Betriebssystemkonfiguration als um Programmcode geht).
Ich bin derzeit für die Wartung eines Systems verantwortlich, das eine Verbindung zu einem Webservice eines Drittanbieters herstellt. Dieser Webservice erfordert Clientauthentifizierungszertifikate, was fair genug ist. Der Webservice selbst ist jedoch durch ein selbstsigniertes Zertifikat geschützt, das von einem selbst erstellten Stammzertifizierungsstellenzertifikat erstellt wird - dem Stamm, der die Clientauthentifizierungszertifikate erstellt.
Es würde ausreichen, nur das aktuelle Dienstzertifikat zur Liste der vertrauenswürdigen Adressen hinzuzufügen und das selbst erstellte Autorisierungszertifikat zu ignorieren. Leider ändert sich das Dienstzertifikat regelmäßig, sodass das Autorisierungszertifikat vertrauenswürdig sein muss, um sicherzustellen, dass die Anwendung nicht beschädigt wird, wenn die Service-Zertifikat wird erneuert.
Aufgrund meiner Erfahrung mit dem Unternehmen, das den Webservice betreibt, vertraue ich dem CA-Zertifikat jedoch nicht (persönlich). Es würde mich nicht überraschen, wenn es ins Internet gelangen würde. Bedenklicherweise unterliegt das CA-Zertifikat keinen Einschränkungen hinsichtlich der Schlüsselverwendung es (während externe MITM-Angriffe eine Möglichkeit sind, obwohl remote, mache ich mir mehr Sorgen über ein durchgesickertes Zertifikat, das zum Beispiel für die Codesignatur verwendet wird).
Kann ich meinem Computer (derzeit eine Server-Box, in Zukunft jedoch normale Desktop-Client-Boxen) mitteilen, einer Zertifizierungsstelle zu vertrauen, jedoch nur für eine bestimmte Anzahl von Schlüsselnutzungen und eine kleine Anzahl möglicher Subjektnamen (Domain-Namen)? )?
Der Server ist derzeit Windows Server 2012 R2, kann jedoch auf einer Linux-Box ausgeführt werden - obwohl es sich bei den Desktop-Computern ausschließlich um Windows-Boxen handelt.