2010-02-09 8 views
16

Wenn ich laufen:Wie mache ich OpenSSL schreiben die RANDFILE unter Windows Vista?

openssl genrsa -out mykey.key 2048 

ich die folgende Fehlermeldung erhalten:

unable to write 'random state' 
    e is 65537 (0x10001) 

Meine googeln schlägt dies eine Art von Vista Berechtigungen Problem. Wie kann ich Vista erlauben, diese Datei zu schreiben oder wie kann ich openssl konfigurieren, um es zu umgehen?

+0

möglich Duplikat [OpenSSL Was bedeutet „nicht in der Lage‚zufälligen Zustand‘schreiben“?] (Http://stackoverflow.com/questions/94445/using-openssl-what-does-unable-to-write- random-state-mean) – jww

Antwort

4

fand ich diese, die helfen können: Using OpenSSL what does "unable to write 'random state'" mean?

auch hier: http://adamyoung.net/OpenSSL-unable-to-write-random-state

gibt es einen Vorschlag, hier http://www.mail-archive.com/[email protected]/msg51344.html auf, wie es in Vista zum Laufen zu bringen.

finden den Standort von cmd.exe, kopieren und als Administrator

+0

Erlaubt es mir nicht, die Berechtigungen für cmd.exe zu ändern – Iain

+0

Ich lief als Administrator - hat nicht funktioniert. – Iain

+0

Ich lief als Administrator und es funktionierte dank !! –

0

hinzufügen HOME Variable in Ihre Umgebungsvariablen ausführen.

58

Das Grundproblem ist, dass die Variable RANDFILE in der OpenSSL-Konfigurationsdatei unter Windows ignoriert wird. Dies ist ein long-standing problem, der ab der Version OpenSSL v1.0a weiterhin existiert, unabhängig davon, ob die Ziel-Windows-Plattform x86 oder x64 ist.

Es gibt eine herrlich einfache Lösung, obwohl. verwendet lediglich eine regelmäßige Umwelt var den RANDFILE Wert zu setzen, wie

set RANDFILE=.rnd 

Da dieser Wert vergänglich ist, muss es für jede neue DOS-Box wieder ausgegeben werden oder in einer Batch-Datei Skript.

+3

Das hat mein Problem auch unter Windows 7 behoben. –

+1

Vielen Dank Herr Judoman –

+0

Ja, das funktioniert, Windows 8.1. – wchoward

2

ich hatte das gleiche Problem, aber für Windows 7. leicht zu lösen, habe ich eine Systemvariable HOME genannt Umwelt und setzen es in das Verzeichnis, die ich in meinem .rnd Datei wollte. Dies löste das Problem, weil OpenSSL nicht wusste, wo Meine .rnd-Datei war (weil ich keine hatte) und sie wusste nicht, wo sie hingelegt werden sollte, wenn sie erstellt werden sollte. Sobald ich meine Umgebungsvariable HOME mit einem Verzeichnis (c: \ ist in Ordnung!) Eingerichtet habe, habe ich meine Schlüsselgenerierung in OpenSSL wiederholt und es funktionierte sofort. Um zu überprüfen, überprüfte ich den Schlüssel, den ich erstellt hatte, und es hatte richtigen Inhalt. Ich habe auch das Verzeichnis überprüft, in dem ich meine HOME-Umgebungsvariable eingestellt habe, und siehe da, eine .rnd-Datei wurde dort abgelegt! Hoffe, das hilft jemandem :-)

0

Das Problem ist, dass das Skript einige Zugriffsrechte fehlt oder kann die Datei nicht finden.

Die Lösung:

Erstellen Sie eine Systemvariable mit dem Namen RANDFILE und dem Wert % USERPROFILE% .rnd

Beachten Sie die % USERPROFILE%, ist eine Systemvariable, dass die automatische Einsätze der Pfad zu Ihrem Benutzerprofil.