Ich entwickle ein Produkt, das einen MSP430-Mikrocontroller mit eingebautem USB-Modul verwendet. Ich habe eine PID von Texas Instruments erhalten und ihre Tools zum Generieren der Deskriptoren sowie einer .inf-Datei zum Installieren der Treibersoftware verwendet. Das offensichtliche Problem ist, dass aufgrund der benutzerdefinierten Natur dieser Dateien beim Einstecken des USB-Kabels ein Popup angezeigt wird (unter Windows 7), das den Benutzer warnt, dass der Treiber nicht signiert ist. Ich glaube, unter Windows 8 und Windows 10 wird es einfach blockiert und dem Benutzer überhaupt nicht angezeigt.
Da dies ein Produkt mit vollem Funktionsumfang ist, das mein Unternehmen veröffentlichen möchte, benötigen wir ein Treiberzertifikat (ich glaube in Form einer .cat-Datei?), das wir dem Kunden zur Verfügung stellen können, damit er das Gerät installieren kann Treibersoftware ohne Probleme.
Ich habe ziemlich viel von der Microsoft-Dokumentation (insbesondere dieses Dokument ) durchgesehen, um zu verstehen, was erforderlich ist, um einen Treiber signieren zu lassen, aber leider geht mir das im Moment nicht aus dem Kopf.
Folgendes glaube ich bisher verstanden zu haben:
Ist das richtig? Auf die Gefahr hin, dass es so klingt, als würde ich nach Empfehlungen für bestimmte Zertifizierungsstellen suchen (bin ich wohlgemerkt nicht), wo finde ich eine Liste mit Zertifizierungsstellen, die diese Zertifizierung für mich durchführen können? Noch besser wären ihre Websites und/oder Preise für unterschiedliche Servicedauern. Hat hier jemand direkte Erfahrung damit, einen Treiber für ein USB-Mikrocontroller-basiertes Produkt zu bekommen, das von einer Zertifizierungsstelle signiert wurde, die mir helfen könnte, den Prozess zu verstehen und zu bewältigen? Ich habe bereits in den MSDN-Foren gepostet, aber es scheint dort ziemlich tot zu sein - es ist zwei Tage her und mein Thread hat nur eine Handvoll Aufrufe.
Es ist eigentlich nicht so schlimm. Ich habe dies einige Male bei der Arbeit getan, indem ich eine .INF/.CAT-Datei für eine PIC24FJ64GB002-basierte USB-CDC-ACM-zu-I 2 C-Schnittstelle von Microchip geschrieben und signiert habe.
Stellen Sie eine Beziehung zu einer Zertifizierungsstelle her. Sie müssen ihnen einige grundlegende Informationen zur Verfügung stellen, die sie validieren werden. Wenn Sie sich für Extended Validation (EV) entscheiden, werden sie viel mehr verlangen, aber Sie sollten nicht so weit gehen müssen. Thawte, Digicert und Comodo sind einige Beispiele für Zertifizierungsstellen.
Erwerben Sie ein Authenticode-Codesignaturzertifikat von der Zertifizierungsstelle. Dies ist, was Sie benötigen, um die .CAT-Datei zu signieren, die Ihrer .INF-Datei zugeordnet ist. Für diese Signierebene benötigen Sie kein Kernelmoduszertifikat.
Zertifikat installieren (selbstverständlich)
Laden Sie das Windows SDK-Framework und das Windows Driver Kit herunter , um die erforderlichen Microsoft-Tools zu erhalten (Kataloggenerierung und -signierung).
Packen und signieren Sie die Treiber:
Von diesem Punkt an könnten Sie eine Art Treiberinstallationsprogramm erstellen oder dpinst aus dem SDK verwenden, um eine grundlegende Installationsautomatisierung durchzuführen.
BEARBEITEN: Anmerkungen aus verschiedenen Kommentaren unten:
Weitere Erweiterung zu Ihren Fragen:
Jack B
DerStrom8
DerStrom8
Jack B
DerStrom8
Jack B
DerStrom8
DerStrom8
Adam Lawrence
Jack B
DerStrom8