Mit OpenSSL, was „nicht in der Lage zu‚zufälligen Zustand‘schreiben“ bedeutet?

StackOverflow https://stackoverflow.com/questions/94445

  •  01-07-2019
  •  | 
  •  

Frage

Ich bin ein selbst signiertes SSL-Zertifikat erzeugt mein Server des Admin-Bereich zu schützen, und ich bekomme immer wieder diese Nachricht von OpenSSL:

  

nicht in der Lage 'zufälligen Zustand'

schreiben

Was bedeutet das?

Dies ist auf einem Ubuntu-Server. Ich habe libssl aktualisiert die jüngste Sicherheitslücke .

War es hilfreich?

Lösung

In der Praxis der häufigste Grund für dieses Ereignis scheint zu sein, dass die .rnd Datei in Ihrem Home-Verzeichnis von root gehört und nicht Ihrem Konto. Die schnelle Lösung:

sudo rm ~/.rnd

Für weitere Informationen, hier ist der Eintrag aus der OpenSSL FAQ :

  

Manchmal ist das OpenSSL Kommandozeilen-Programm nicht mit einer „PRNG nicht ausgesät“ Fehlermeldung abbrechen, beklagt aber, dass es „‚random state‘zu schreiben, nicht in der Lage“ ist. Diese Nachricht bezieht sich auf die Standard-Seeding-Datei (siehe vorherige Antwort). Ein möglicher Grund ist, dass kein Standarddateiname ist bekannt, weil weder RANDFILE noch HOME gesetzt. (Versionen bis 0.9.6 verwendete Datei „.rnd“ im aktuellen Verzeichnis in diesem Fall, aber das hat mit 0.9.6a geändert.)

So würde ich überprüfen RANDFILE, HOME, und Berechtigungen für diese Orte im Dateisystem zu schreiben.

Wenn alles in Ordnung zu sein scheint, könnten Sie laufen versuchen, mit Strace und sehen, was genau vor sich geht.

Andere Tipps

Ich weiß, diese Frage auf Linux, aber auf Windows hatte ich das gleiche Problem. Es stellte sich heraus Sie die Eingabeaufforderung in „Ausführen als Administrator“ gestartet haben, damit es funktioniert. Ansonsten erhalten Sie das gleiche. Nicht in der Lage ‚zufälligen Zustand‘ Fehler zu schreiben

Ein weiteres Thema auf der Windows-Plattform, stellen Sie sicher, dass Sie Ihre Eingabeaufforderung als Administrator ausgeführt werden!

Ich weiß nicht, wie oft dies hat mich gebissen ...

Offenbar brauchte ich OpenSSL als root laufen, um für sie die Erlaubnis zum Impfen Datei haben.

Ich hatte die gleiche Sache auf Windows-Server. Dann habe ich herausgefunden, indem die vars.bat Veränderung, die lautet:

set HOME=C:\Program Files (x86)\OpenVPN\easy-rsa

dann Redo von Anfang und alles sollte in Ordnung sein.

Das Problem für mich war, dass ich in meinem Home-Verzeichnis .rnd hatte, aber es war im Besitz von Root. Sie löschen und Neuausstellung der openssl Befehl fixiert diese.

Sie sollten die $ RANDFILE Umgebungsvariable und / oder $ HOME / .rnd Datei erstellen. ( OpenSSL FAQ ). (Natürlich sollten Sie die Rechte auf diese Datei haben. Andere Antworten hier sind darüber. Aber zuerst sollten Sie die Datei und einen Verweis auf sie haben.)

Bis zur Version 0.9.6 OpenSSL schrieb die Seeding-Datei im aktuellen Verzeichnis in der Datei ".rnd". Bei Version 0.9.6a haben Sie keine Standard-Seeding-Datei. OpenSSL 0.9.6b und später verhalten sich ähnlich wie 0.9.6a, sondern eine Vorgabe von „C: \“ verwenden für HOME auf Windows-Systemen, wenn die Umgebungsvariable nicht gesetzt wurde.

Wenn die Standard-Seeding-Datei nicht existiert oder zu kurz ist, die „PRNG nicht ausgesät“ Fehlermeldung auftreten.

Die $ RANDFILE Umgebungsvariable und $ HOME / .rnd werden nur durch die OpenSSL Kommandozeilen-Tools verwendet. Anwendungen unter Verwendung der OpenSSL-Bibliothek stellen ihre eigenen Konfigurationsoptionen die Entropie Quelle angeben, überprüfen Sie bitte die Dokumentation kommen die mit der Anwendung aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top