Ich habe mit einem Passwort und mit den folgenden Feldern als root
openssl req -x509 -days 365 -newkey rsa:2048 -keyout /etc/ssl/apache.key \
-out /etc/ssl/apache.crt
Felder
Country: FI
State: Pirkanmaa
Locality: Tampere
Organization: masi
Organizational Unit Name: SSL Certificate Test
CommonName: 192.168.1.107/owncloud
EmailAddress: [email protected]
Ausgabe: SSL-Handshake-Fehler in HTTPS. Erwartete Ausgabe: HTTPS-Verbindung. HTTP funktioniert.
Der CommonName sollte die URL enthalten, zu der Sie gehen möchten, der Thread von owncloud hier . Ich habe es erfolglos in commonname versucht
192.168.1.107/owncloud
192.168.1.107/
Testbetriebssystem für Server: Debian 8.5.
Server: Raspberry Pi 3b. Owncloud-Server: 8.2.5. Owncloud-Client: 2.1.1. System-Client: Debian 8.5.
openssl
certificates
Léo Léopold Hertz 준영
quelle
quelle
Centos 7 / Vagrant / Chrome Browser
.Antworten:
Mit diesem Befehl können Sie kein wohlgeformtes X.509-Zertifikat generieren. Es ist fehlerhaft, da der Hostname im Common Name (CN) steht . Das Einfügen eines Hostnamens oder einer IP-Adresse in den CN wird sowohl von der IETF (den meisten Tools wie
wget
undcurl
) als auch von den CA / B-Foren (CAs und Browsern) nicht mehr empfohlen.Sowohl in den IETF- als auch in den CA / B-Foren werden Servernamen und IP-Adressen immer in den alternativen Antragstellernamen (Subject Alternate Name, SAN) eingetragen . Die Regeln finden Sie in RFC 5280, Internet X.509-Zertifikat für die Infrastruktur öffentlicher Schlüssel und CRL-Profil (Certificate Revocation List) sowie in den Grundanforderungen für das CA / Browser-Forum .
Meistens müssen Sie eine OpenSSL-Konfigurationsdatei verwenden und an Ihre Bedürfnisse anpassen. Unten ist ein Beispiel von einem, das ich benutze. Es wird aufgerufen
example-com.conf
und über an den OpenSSL-Befehl übergeben-config example-com.conf
.Auch beachten Sie auch : alle Maschinen zu behaupten
localhost
,localhost.localdomain
etc. Seien Sie vorsichtig über die Ausstellung von Bescheinigungen fürlocalhost
. Ich sage nicht , tu es nicht; Verstehe nur, dass es einige Risiken gibt.Folgende Alternativen
localhost
stehen zur Verfügung: (1) Führen Sie DNS aus und stellen Sie Zertifikate für den DNS-Namen des Computers aus. Oder (2) statische IP verwenden und die statische IP-Adresse angeben.Die Browser geben weiterhin Warnungen zu einem selbstsignierten Zertifikat aus, das nicht mit einem vertrauenswürdigen Stamm verknüpft ist. Tools mögen
curl
undwget
werden sich nicht beschweren, aber Sie müssen sich dennoch darauf verlassen, dass Sie mit einer Option wie cURL selbst signiert sind--cafile
. Um das Vertrauensproblem des Browsers zu überwinden, müssen Sie Ihre eigene Zertifizierungsstelle werden."Ihre eigene Zertifizierungsstelle werden" wird als Ausführung einer privaten PKI bezeichnet. Da ist nicht viel dran. Sie können alles tun, was eine öffentliche Zertifizierungsstelle kann. Der einzige Unterschied besteht darin, dass Sie Ihr Root-CA-Zertifikat in den verschiedenen Geschäften installieren müssen . Es ist nicht anders als zum Beispiel mit cURLs
cacerts.pm
.cacerts.pm
ist nur eine Sammlung von Stammzertifizierungsstellen, und jetzt sind Sie dem Club beigetreten.Wenn Sie Ihre eigene Zertifizierungsstelle werden, müssen Sie Ihren privaten Schlüssel für die Stammzertifizierungsstelle auf einen Datenträger brennen und ihn offline halten. Legen Sie es dann in Ihr CD / DVD-Laufwerk ein, wenn Sie eine Signaturanforderung signieren müssen. Jetzt stellen Sie Zertifikate wie eine öffentliche Zertifizierungsstelle aus.
Nichts davon ist fürchterlich schwierig, sobald Sie eine oder zwei Unterzeichnungsanforderungen unterschrieben haben. Ich betreibe seit Jahren eine private PKI im Haus. Alle meine Geräte und Gadgets vertrauen meiner Zertifizierungsstelle.
Weitere Informationen dazu, wie Sie Ihre eigene Zertifizierungsstelle werden , finden Sie unter Wie signieren Sie eine Zertifikatsignierungsanforderung bei Ihrer Zertifizierungsstelle und wie Sie mit openssl ein selbstsigniertes Zertifikat erstellen? .
Aus den Kommentaren in der Konfigurationsdatei unten ...
Selbst signiert (beachten Sie die Hinzufügung von -x509)
Signaturanforderung (beachten Sie das Fehlen von -x509)
Drucken Sie eine selbst signierte
Drucken Sie eine Signaturanforderung aus
Konfigurationsdatei
Möglicherweise müssen Sie für Chrome die folgenden Schritte ausführen. Andernfalls beschwert sich Chrome möglicherweise, dass ein allgemeiner Name ungültig ist (
ERR_CERT_COMMON_NAME_INVALID
) . Ich bin nicht sicher, wie die Beziehung zwischen einer IP-Adresse im SAN und einem CN in diesem Fall ist.quelle
sudo
. Vielleicht gehört Ihre.rnd
Dateiroot
. Wenn ja, versuchen Sie es mit asudo chown -R masi:masi /home/masi
. Dann können Sie davon lesen und darauf schreiben.x509
darin aus (genau wie im Kommentar angegeben).Das
CommonName
sollte mit dem übereinstimmen, was alsHost:
Header in der HTTP-Anforderung gesendet wird . In Ihrem Fall wäre das192.168.1.107
(ohne einen abschließenden Schrägstrich).Konfigurieren Sie den Hostnamen für einen Webserver
Persönlich würde ich einen benutzerfreundlichen Hostnamen für den Webserver konfigurieren.
/etc/apache2/sites-enabled/000-default.conf
Verwenden Sie in Ihrer Mail-Apache-Konfiguration oder virtuellen Host-Konfiguration (wahrscheinlich für Debian-basierte Distributionen) die DirektiveServerName
oderServerAlias
, z.Starten Sie Apache neu und konfigurieren Sie dann DNS oder fügen Sie (einfacher) einen Eintrag in jeden Client ein
/etc/hosts
, um ihn auf die richtige IP-Adresse zu verweisen, z.quelle
192.168.1.107
. Der andere Thread sagt, dass Sie Subdomain einschließen sollten. Ich denke, das impliziert192.168.1.107/owncloud
. Ich kann mich jedoch irren.ServerName owncloud.masi
in.../sites-enabled/000-default.conf
. Ist der gemeinsame Name des SSL-Schlüssels owncloud.masi ?ServerAlias
?