Ich nehme eine leichte Vermutung an, vermute jedoch, dass der Browser generateCRMFRequest
verwendet und importUserCertificate
in Kombination. Einen Überblick über den Vorgang gibt die veraltete Javascript_crypto-Dokumentation für Firefox.
Ähnliches kann mit dem Internet Explorer erreicht werden. Ich habe nicht nachgesehen, aber ich kann mir vorstellen, dass Safari auch ein gewisses Maß an Unterstützung bietet.
Dies sind völlig nicht standardmäßige Erweiterungen und laut diesem Beitrag im CA/Browser-Forum nicht die Zukunft.
Der Schlüssel wird lokal generiert, es ist jedoch schwer zu sagen, ob der Schlüssel auch zur "Archivierung" an die Zertifizierungsstelle gesendet wird, wie in generateCRMFRequest. Da das Javascript Zugriff auf den generierten Schlüssel hat, könnte es ihn möglicherweise über das Internet senden.
Letzte Info, gibt es ein generisches Tool, um dies unter Linux zu tun? Meines Wissens nicht. Sie können sicherlich den folgenden Prozess durchlaufen:
openssl genrsa ... -out private.key
openssl req -new ... -inkey private.key -out certplease.csr
Senden von certplease.csr an die Zertifizierungsstelle. Von ihnen würden Sie ein von ihnen signiertes PKCS # 7-Zertifikat zurückerhalten (und möglicherweise andere Zertifikate in der Kette, falls sie benötigt werden).
Ich glaube jedoch nicht, dass es in Linux einen standardmäßigen benutzerbasierten privaten Schlüsselspeicher gibt - vielmehr hat jede Desktop-Umgebung einen etwas anderen.
Das ist eine faszinierende Frage.
Zunächst einige Gedanken zu .cer
Datei, die Sie erhalten:Schauen Sie sich die Liste der PKCS-Standards an; PKCS # 7 ist nur ein Container zum Transportieren von signierten / verschlüsselten Daten, der uns nichts darüber sagt, was diese Daten sein könnten. Wenn die darin enthaltenen Daten im PKCS#12-Format vorliegen, ist es durchaus möglich, dass der private Schlüssel damit gebündelt wurde. Ich denke, die wichtige Frage dort ist:Mussten Sie beim Importieren des .cer
ein Passwort eingeben? ?
Symantec Managed PKI
Es gibt einige Hinweise (aber keine Antworten) im Symantec™ Managed PKI ServiceDeployment Options Guide.
Sie beschreiben eindeutig
2.1.1 Native Browser-Anmeldung
Die native Browserregistrierung erfordert keine Installation von Software auf dem Computer des Endbenutzers und funktioniert sowohl in Cloud- als auch in Hybridszenarien.
Obwohl es eher an Details fehlt, wo der Schlüssel generiert wird.
Lassen Sie den Server einen privaten Schlüssel für Sie generieren und bündeln Sie ihn in .cer
file wäre konsistent mit Sätzen wie diesen:
... Diese Option ist wichtig, um sicherzustellen, dass Hochsicherheitszertifikate wie eine Smartcard oder ein USB-Token im richtigen Speicher landen.
Da Zertifikate per Definition öffentlich sind, macht der Ausdruck "Hochsicherheitszertifikate" nur Sinn, wenn ein privater Schlüssel damit gebündelt ist.
Sie machen auch viele Verweise auf Microsoft Active Directory-Registrierungs-/Schlüsselverwaltungsdienste. Aber das erklärt nicht Ihren Linux-Fall.
Bearbeiten: Duh. Möglich ist auch, dass der Browser Zugriff auf die Kryptofunktionalität des Betriebssystems hat (z. B. Microsoft CAPI) und das Javascript auf der Registrierungsseite das Betriebssystem dazu bringt, einen privaten Schlüssel zu erstellen und eine Zertifikatsanforderung einschließlich eines Besitznachweises zu generieren dieser Schlüssel.