Zur Erstellung von “Windows Store”-Anwendungen muss die erstellte Anwendung signiert werden. Dafür wird ein Code-Signing-Zertifikat benötigt, welches im Falle des Sideloadings von Applikationen (Bereitstellung von eigenen Applikationen innerhalb eines Unternehmens, ohne den Windows 8 App-Store zu benutzen) auch ein eigenes Zertifikat sein kann. Dieses kann durch die Zertifikatsautorität des Unternehmens ausgestellt werden. Die Vorgehensweise wird z.B. hier (von Microsoft) ausführlich beschrieben.
Was Microsoft dort aber verschweigt ist, dass das zu verwendende Zertifikat auch eine Mindestschlüssellänge aufweisen muss – wir verwenden aktuell 4096 Bit. Wie kann ich das aber bewirken, wenn diese Option im Dialog zum Anfordern des Zertifikats ausgegraut ist und aufgrund des Alters des Zertifikat-Templates dieses noch mit 1024 Bit ausgestellt wird?
Die Schlüssellänge wird in diesem Fall durch Template das für die Zertifikats-Anforderung verwendet wird bestimmt – und das liegt auf der Zertifikats-Autorität. In der Server-Verwaltung der Zertifikats-Autorität kann man die Templates verwalten:
Und in dieser Verwaltung ein neues Template durch Duplizieren des ursprünglichen “Code Signing”-Templates ein neues Template anlegen:
Das 2008’ter Format bietet mehr Möglichkeiten.
Hier lässt sich die Schlüssellänge (und auch der Hash-Algorithmus) anpassen:
Und auch die “Basic Constraints” per Default einschalten (das müsste sonst im Dialog der Zertifikats-Anforderung geschehen).
Nach der Bestätigung mit der Constraints und Bestätigung des Duplizierungs-Dialogs mit OK muss dieses neue Template allerdings auch noch “aktiviert” (bereitgestellt) werden. Dazu verwendet man wieder die Server-Verwaltung und kann über das Kontext-Menü den entsprechenden Dialog aufrufen:
Nach dem OK-Klick steht das neue Template bereit und kann für die Generierung von Code-Signing-Zertifikaten verwendet werden.
Diese Code-Signing-Zertifikate sind dann natürlich nicht durch eine öffentliche CA bestätigt, sondern nur innerhalb des Active-Directory gültig – aber gerade für die Bereitstellung von Metro-Apps (im Visual Studio heißen sie “Windows Store App”) innerhalb von Unternehmen sind diese Zertifikate optimal. Für Geräte, die nicht in das AD integriert sind, kann auch das Root-Zertifikat der CA in den Zertifikats-Store dieser Geräte importiert werden – dann wird auch diesen Code-Signing-Zertifikaten vertraut.