Codesignaturzertifikat für Open-Source-Projekte?

117

Ich möchte eine meiner Anwendungen als Open Source veröffentlichen und die von mir erstellten Binärdateien mit meinem eigenen Zertifikat digital signieren. (Natürlich kann jeder andere den Code einfach herunterladen und selbst mit seinem eigenen Zertifikat erstellen.) Ich möchte dies tun, damit jeder überprüfen kann, ob dieser Build von mir und nicht von jemand anderem erstellt wurde. Ich möchte auch eine sichere Website mit einem gültigen SSL-Zertifikat erstellen, damit Besucher auf sichere Weise ihre eigenen Konten erstellen können, um zu diesem Projekt beizutragen.

Ich könnte ein selbstsigniertes Zertifikat erstellen, aber diese Option gefällt mir nicht wirklich. Oder ich könnte Verisign ein paar Goldstücke bezahlen, um die Zertifikate zu erhalten, die nur ein paar Jahre gültig sind. Diese Option gefällt mir auch nicht, da meine Schatzkammer für mich wertvoll ist.

Gibt es noch andere Möglichkeiten? Zum Beispiel ein Anbieter, der Open-Source-Projekte unterstützt, indem er Zertifikate zu einem reduzierten Preis anbietet? Es muss nicht kostenlos sein, nur viel billiger als Verisign ...

(Das Projekt wird in C # mit Visual Studio 2008 erstellt . Außerdem ein zusätzliches Projekt in ASP.NET, das SSL benötigt.)

Wim zehn Brink
quelle
Diese Frage ist zum Thema. Es beschreibt das Problem (Wunsch zu veröffentlichen) und was getan wurde (erstellte App, aber nicht signiert). Es werden keine Empfehlungen abgefragt, sondern nur die Namen eines oder mehrerer kostenloser oder kostengünstiger Anbieter. Es werden Antworten angefordert, die eine externe Ressource "finden", jedoch nicht auf eine Weise, die wahrscheinlich zu Meinungen oder Spam führt, da nur wenige Optionen verfügbar sind.
Edward Brey
5
Ich möchte darauf hinweisen, dass ich diese Frage seit fast 8 Jahren gestellt habe. Heute gibt es bereits einige weitere Optionen, aber die Zuverlässigkeit wird zu einem Problem. Es gibt auch viele kostenlose Optionen für SSL und Webentwicklung, aber
Wim ten Brink
1
Leider unterstützt LetsEncrypt keine Codesignaturzertifikate . Mitte 2018 ist Comdos Codesigncert für 59 USD pro Jahr das billigste, das ich finden kann . Es wäre viel einfacher, wenn die Regierungen allen Bürgern / Untertanen ein Code-Signing-Zertifikat als nationalen Ausweis ausstellen würden ... aber dann wäre ich gezwungen, meiner Regierung zu vertrauen
Earcam

Antworten:

9

Sie können CAcert ausprobieren . Damit werden Sie von anderen CAcert-Anwendern zertifiziert. CAcert verfügt über ein auf Reputation basierendes System. Wenn Sie also häufig genug zertifiziert sind, wird Ihr Zertifikat als gültig gewertet.

Möglicherweise müssen Sie CAcert als vertrauenswürdige Berechtigung auf dem Zielsystem hinzufügen. Die Selbstsignierung Ihrer ausführbaren Datei sollte eine ausreichende Option sein, Sie müssen jedoch das öffentliche Zertifikat bereitstellen. Die Verwendung einer bekannten Autorität kann helfen, die Datei zu überprüfen, aber ich denke, es ist zu Ende. Verwenden Sie in diesem Fall eine Prüfsumme oder einen sha2-Hash der Datei in Kombination mit Ihrem selbstsignierten Zertifikat. Sie können eine Linux-Box als Zertifizierungsstelle einrichten, diese muss jedoch Ihrem öffentlichen Zertifikat vertrauen.

Mnementh
quelle
48
Der Nachteil von CACert ist, dass es in keinem der gängigen Browser ( wiki.cacert.org/InclusionStatus ) standardmäßig enthalten ist. Daher ist die typische Benutzererfahrung nicht besser als die eines selbstsignierten Zertifikats.
Kohsuke Kawaguchi
6
Wenn Sie an der Signierung von ausführbaren Windows-Dateien interessiert sind, beachten Sie, dass CACert nicht in der Liste der Zertifizierungsstellen (CAs) aufgeführt ist, die Mitglieder des Windows- Stammzertifizierungsprogramms sind , während Unizeto CERTUM
user377486
Ich habe CAcert ausprobiert. Dieses Bild fasst es zusammen: imgur.com/a/rNYqBme
selbie
Die aktualisierte CA-Liste finden Sie unter ccadb-public.secure.force.com/microsoft/…
Erdogan Kurtur
35

Für Open - Source - Entwickler, Certum bietet Code - Signing - Zertifikate kostenlos *

Geben Sie einfach "Open Source Developer" in das Feld "Firma" ein, wenn Sie das Zertifikat anfordern. Das ist es.

Link zum Open - Source - Code - Signing - Zertifikaten ist hier

[*] Ab 2016 ist das Open Source Code Signing-Zertifikat nicht mehr kostenlos verfügbar. Es ist jetzt ein kostenpflichtiger Dienst.

Stefan
quelle
2
Sie waren auf der Website und können nur SSL-Zertifikate sehen. Können Sie einen Deep Link zu den Codesignaturzertifikaten erstellen?
Frozenskys
3
Sie scheinen dies nicht mehr anzubieten.
Tschad
3
AFAIK sie haben aufgehört, die kostenlosen Open Source-Entwicklerzertifikate anzubieten. Ansonsten würde ich mich sehr über einen Link freuen.
Reiniero
15
Es scheint, dass Zertifikate nicht mehr kostenlos sind - der Verweis auf Open Source Code Signing wurde von der Seite mit den Testzertifikaten entfernt, und es gibt jetzt eine separate Produktseite en.sklep.unizeto.pl/data-safety/code-signing-certificates/ … . Mit 14 € sind sie jedoch viel billiger als andere Zertifikate. Der Anmeldevorgang scheint der gleiche zu sein wie damals, als sie noch frei waren.
Alex Warren
2
@quasoft das sind SSL-Zertifikate.
Nathan Osman
27

Update: Nicht mehr kostenlos, jetzt 105,78 € (Stand 19. Februar 2017). Die Kosten sind geringer, wenn Sie bereits die Krypto-Hardware besitzen. FWIW, folgen die vorherigen Anweisungen.


Befolgen Sie diese Schritte, um ein kostenloses Code-Signatur-Zertifikat von Certum / Unizeto für sich als Einzelperson zu erhalten. Verwenden Sie Internet Explorer oder Safari, da diese den Schlüsselaustauschmechanismus unterstützen.

  1. Navigieren Sie zu Test ID und OpenSource Code Signing-Zertifikaten und senden Sie das Formular.

  2. Das Zertifikat wird unter Zertifikate aktivieren angezeigt . Klicken Sie auf Aktivieren .

  3. Gehen Sie durch den Aktivierungsassistenten. Für Organisation eingeben Open Source Entwickler . Für Organisationseinheit Geben Sie Software Publishing .

  4. Sie erhalten eine E-Mail mit der Bitte um Identitätsnachweis. Antworten Sie mit einem Link zum Open Source-Projekt und einem Bild Ihres Führerscheins (oder eines anderen akzeptierten Dokuments). Um Ihre Privatsphäre zu schützen, sollten Sie die Antwort verschlüsseln. * Die Art der Verschlüsselung variiert je nach E-Mail-Client. Stellen Sie für Outlook sicher, dass Sie über ein E-Mail-Zertifikat ( frei verfügbar ) verfügen , und aktivieren Sie die Verschlüsselung .

  5. Innerhalb eines Tages sollten Sie eine E-Mail mit einem Link zum Sammeln Ihres Zertifikats erhalten. Sie müssen den Link von demselben Computer und Browser aus öffnen, mit dem Sie den Vorgang gestartet haben.

* Obwohl in der Bestätigungs-E-Mail von Certum angegeben ist, dass der Proof an [email protected]gesendet werden soll, akzeptiert Certum auch Proofs, die an die Antwortadresse gesendet werden [email protected], an die Sie verschlüsselte E-Mails senden können.

Edward Brey
quelle
Hat gut funktioniert, vielen Dank! Wissen Sie, ob das Zertifikat nach Ablauf von 1 Jahr kostenlos erneuert wird? Oder ist dies nur eine Probezeit und wird dann zu einem bezahlten Zertifikat?
Al-Khwarizmi
1
Nach ca. 10 Monaten erhalten Sie eine E-Mail, die Sie daran erinnert, dass Ihr Zertifikat abläuft. In dieser Mail wird erwähnt, dass Sie erneuern können, aber das hat nicht funktioniert (für mich vor 4 Monaten). Ich hatte wie vor einem Jahr ein neues Zertifikat angefordert und es erhalten. Kurz gesagt: Sie fordern jedes Jahr ein neues Zertifikat an.
Martijn Stolk
Die Länder-Dropdown-Liste scheint die USA nicht mehr aufzulisten? Ich habe 2013 ein Zertifikat bekommen, also hat es für mich funktioniert.
Warty
Versuchte dies. Jetzt ein 90-Tage-Zertifikat. Der Schritt "Aktivieren" kann jedoch nicht überschritten werden, da das Klicken auf die Schaltfläche "Schlüssel generieren" nichts bewirkt und Next den Alarm "Schlüsselpaar generieren"
auslöst
Sie scheinen noch eine CSR-Methode zu haben. Wie können sie wissen, ob CSR von ihrer Hardware generiert wurde oder nicht?
OKTAGRAM
22

Update 2016: StartCom wurde von WoSign unter fragwürdigen Umständen übernommen . Ich würde StartCom / WoSign nicht vertrauen. Betrachten Sie die folgenden Text als eine historische Note auf , wie gut StartCom war bis Anfang 2015 .

Ich habe ein Codesignaturzertifikat von StartCom (StartSSL). Ich bin sehr zufrieden mit ihrem Service: Der Kundenservice ist sehr schnell und die Preise sind sehr vernünftig.

Abrufen des Codesignaturzertifikats

Um ein Codesignaturzertifikat zu erhalten, ist eine Identitätsprüfung der Klasse 2 erforderlich . StartCom führt Sie durch den gesamten Prozess (mit hervorragenden Antwortraten, meiner Erfahrung nach normalerweise innerhalb von zehn Minuten).
Wenn Sie die Details sofort richtig machen möchten, lesen Sie diesen Blog-Beitrag . Ich wurde innerhalb einer Stunde validiert (gegen eine Gebühr von 59,90 $ über Paypal).

Generieren Sie nach der Validierung einen neuen privaten Schlüssel und eine Zertifikatsignierungsanforderung (Certificate Signing Request, CSR). Beachten Sie, dass alle Felder außer dem öffentlichen Schlüssel ignoriert werden . Alle Informationen im Zertifikat werden aus den Informationen abgeleitet, die Sie während der Identitätsprüfung angeben, nicht aus Ihrer CSR .

# Create key and CSR (key must be at least 2048 bit, per Policy Statement)
openssl req -nodes -newkey rsa:2048 -keyout codesigning.key -out codesigning.csr
# Add pass phrase to key (optional, but highly recommended)
openssl rsa -in codesigning.key -des3 -out codesigning2.key && \
    mv codesigning2.key codesigning.key

Senden Sie dies über die Weboberfläche und Sie erhalten schnell ein neues Zertifikat, das zwei Jahre gültig ist (ich habe mein Zertifikat innerhalb einer Stunde erhalten).

Problem: Lifetime Signing OID

Für die Klasse-2-Zertifikate von StartCom ist die Lifetime Signing OID festgelegt. Aufgrund dieses Bits wird die Signatur des signierten Codes nach Ablauf des Zertifikats ungültig, selbst wenn es mit einem Zeitstempel versehen ist.

Als ich Eddy Nigg (COO / CTO von StartCom) nach dem Grund dieser OID fragte, antwortete er:

Wir müssen die CRLs bis zu 20 Jahre nach Ablauf der Zertifikate in Betrieb halten. Dies können wir für Zertifikate auf EV-Ebene tun (viel geringeres Volumen, unterschiedliche Zahlungsbedingungen), würde jedoch den Preis für Klasse 2 nur für diesen Vorteil erhöhen (wobei die Codesignatur nur ein Teil der Optionen in diesem Level ist).

Die Zeitstempelung ist daher nur nach der erweiterten Validierung (Extended Validation, EV) verfügbar , die nur rechtmäßig etablierten Organisationen zur Verfügung steht und 199,90 USD kostet. So können einzelne Entwickler nicht timestamping mit einem Codesignaturzertifikat von StartCom verwenden .

Ich habe diese Einschränkung lange Zeit als großes Problem angesehen. Kürzlich habe ich meine Meinung geändert: Es kommt nur einmal alle zwei Jahre vor, sicherheitsbewusste Benutzer sind möglicherweise eher geneigt, die neueste Version meiner Software zu erhalten, und alte Versionen der Software funktionieren weiterhin (für diejenigen, die sie verwenden möchten; jedoch ohne überprüfte Unterschrift).

Hinweis: Stempeln Sie Ihren Code immer mit einem Zeitstempel, auch wenn das Flag für die lebenslange Signatur gesetzt ist ! Signaturen mit Zeitstempel bleiben bis zum Ablaufdatum des Zertifikats gültig, auch wenn das Zertifikat widerrufen wurde (natürlich nur, wenn die Signatur vor dem Widerruf des Zertifikats erstellt wurde).

Praktische Verwendung des Zertifikats

Bei StartCom zahlen Sie nur für die Validierung. Die Identitätsprüfung ist 350 Tage lang gültig. Während dieses Zeitraums können Sie kostenlos Codesignaturzertifikate anfordern. Sie können nur ein gültiges Codesignaturzertifikat haben und es kann zum Signieren eines beliebigen Codes (MSI, DLL, XPI, ...) verwendet werden, jedoch nicht des Treibercodes (dies erfordert EV).

Um ein Attribut im Zertifikat zu ändern, muss das vorherige Zertifikat widerrufen und ein neues angefordert werden. Der Widerruf eines Zertifikats kostet 29,90 $. Als ich meine E-Mail einen Tag nach Erhalt eines Codesignaturzertifikats änderte, wurde mein Zertifikat ausnahmsweise ohne Gebühr widerrufen (ich war positiv überrascht)!

Ablauf

Wenn Ihr Zertifikat abläuft (nach fast zwei Jahren), erhalten Sie eine Benachrichtigung (zwei Wochen im Voraus). Wenn Ihre verifizierte Identität noch gültig ist (denken Sie daran, dass die Validierungen nach 350 Tagen ablaufen; dann müssen Sie Ihre Identität für 59,90 $ erneut bestätigen), können Sie ein neues Zertifikat anfordern, ohne das vorherige zu widerrufen. Vergessen Sie nicht, eine neue Version Ihrer Software zu veröffentlichen, die mit diesem neuen Codesignaturzertifikat signiert ist, da in den vorherigen Versionen bald "(nicht verifiziert)" oder ähnliches angezeigt wird.

OCSP

Als ich mein Zertifikat erhielt, habe ich mein Firefox-Add-On signiert. Es wurde jedoch weiterhin "(Autor nicht verifiziert)" angezeigt, obwohl meine XPI-Datei korrekt signiert war. Es stellte sich heraus, dass Firefox nicht den aktuellen Zertifikatstatus erhielt, als es die OCSP-Server von StartCom nach dem Sperrstatus meines neuen Zertifikats abfragte. möglicherweise relevantes Forenthema

Nach ungefähr einem halben Tag war mein Zertifikat den OCSP-Servern bekannt und mein Name wurde wie erwartet angezeigt. Lektion gelernt: Wenn Sie ein neues Zertifikat haben, warten Sie ungefähr einen Tag, bevor Sie Ihre Software mit der neuen Signatur veröffentlichen.

Rob W.
quelle
1
Vielen Dank für die Erkenntnisse über die lebenslange Signatur und "nur ein aktives Codesignaturzertifikat". Auf jeden Fall wissenswert. Ich hatte vor, dies eines Tages zu tun, und ich denke, ich möchte es immer noch tun. Verwenden Sie bereits kostenlose SSL-Zertifikate.
Ygoe
2
Update auf StartCom: Für die Code-Zertifikate ist jetzt keine Lifetime Signing OID festgelegt. Sie sind jetzt so gut wie jedes andere Codesignaturzertifikat. Für Organisationsüberprüfungen ist sogar eine Kernel-Codesignatur enthalten.
Josef sagt Reinstate Monica
8

Sie können auch KSoftware ausprobieren . Sie verkaufen Comodo -Codesignaturzertifikate für 99 US-Dollar pro Jahr weiter.

Joe Kuemerle
quelle
1
Ich habe sie in der Vergangenheit erfolgreich eingesetzt. Tucows ist auch ein Wiederverkäufer, und wenn Sie einen Mehrjahresvertrag abschließen, können Sie diese für etwa 70 pro Jahr erwerben.
EricLaw
KSoftware hat einen großartigen Service, während Comodo nicht gut ist, die Leute von KSoftware antworten schnell, ich bin nicht verwandt, nur ein zufriedener Kunde.
Digitai
1
Ich habe kürzlich ein Zertifikat bei KSoftware gekauft, aber den Validierungsprozess noch nicht abgeschlossen. Das Validierungsteam von Comodo fragt mich immer wieder nach einer Telefonnummer, aber das Face-to-Face hat nicht gesagt, dass dies obligatorisch ist.
Nicke Manarin
1
Ich habe gerade ein Code-Signatur-Zertifikat von K Software gekauft, weil der Preisunterschied erheblich war: 75 USD pro Jahr statt 175 USD pro Jahr. Ich werde versuchen, hier ein Update zu veröffentlichen, nachdem ich die Validierung und Ausstellung durchlaufen habe. Mein Bauch sagt jedoch, dass es sich wahrscheinlich lohnt, die zusätzlichen 100 Dollar zu zahlen und einfach direkt mit Comodo zu gehen. Ich werde Sie wissen lassen, wie es geht ...
Joshua Pinter
1
Update: Ich habe versucht, unsere Anwälte zu konsultieren, um das erforderliche Dokument fertigzustellen, aber sie sagten, dass dies etwa 1.500 US-Dollar kosten würde. Deshalb haben wir uns entschieden, uns einfach bei D & B.com registrieren zu lassen, um eine DUNS-Nummer zu erhalten und diese als "Bestätigung" für unsere Existenz zu verwenden. Wir haben es jetzt, aber es war ein Schmerz im Arsch und es dauerte ungefähr einen Monat, bis es von Anfang bis Ende fertig war. Wenn Sie es eilig haben, würde ich mir einen anderen Anbieter wie digicert.com ansehen. (Davon abgesehen bin ich mir nicht sicher, ob sie anders / besser sind.)
Joshua Pinter
8

Sie können sich das StartSSL- Produkt ansehen .

Hinweis StartSSL wurde jetzt geschlossen und stellt keine Zertifikate mehr aus.

Frozenskys
quelle
4
Komisch. Google Chrome meldet mir, dass startssl.com über ein ungültiges Zertifikat verfügt, und warnt mich vor den Risiken, auf diese Website zuzugreifen. :-) Ich bin aber weitergegangen. Sieht okay aus.
Wim ten Brink
1
Wenn Sie das Stammzertifizierungsstellenzertifikat von Startsll hinzufügen, wird dies nicht mehr angezeigt. Ich glaube, dass FireFox 3+ mit diesem eingebauten CA-Zertifikat geliefert wird.
Frozenskys
46
Es ist immer ein tolles Gefühl, Stammzertifizierungsstellen zu importieren. Ein bisschen besiegt den ganzen Zweck, sie zu haben.
Matthew Whited
3
StartSSL ist die erste (nur noch) kostenlose Zertifizierungsstelle mit einer RootCA in Windows Vista +. Es gibt ein Zertifikat-Update für ältere Windows-Versionen, das es auch afaik enthält. Warum Chrome es nicht als RootCA oder als Fallback für Windows zur Überprüfung hat, ist nur ein Chrome-Problem.
Robert MacLean
6
BTW StartSSLs Code-Signatur-Zertifikate sind Beta-Versionen und müssen überprüft werden (was derzeit nicht kostenlos ist 50 US-Dollar)
Robert MacLean