Problem mit OpenSSL Funktionen

Problem mit OpenSSL Funktionen

am 03.07.2006 15:55:40 von dev-null-use-reply-adress

Hallo Zusammen,

ich plane eine Webanwendung mit besonderen Sicherheitsanforderungen.
Die gesamte Anwendung wird selbstverständlich nur über SSL laufen.
Bestimmte, sensible Daten sollen aber auch in der DB auf dem Webserver
zusätzlich noch verschlüsselt abgelegt werden. Dabei dachte ich an
eine asymetrische Verschlüsselung mit Hilfe der OpenSSL-Funktionen.
Aber schon diese funktionieren nicht auf unserem Server.
Fehlermeldungen sind z.B.:

error:02001002:system library:fopen:No such file or directory
error:2006D002:BIO routines:BIO_new_file:system lib
error:0E064002:configuration file routines:CONF_load:system lib

Liegt das jetzt an PHP? Ist OpenSSL nicht korrekt installiert?

Im Manual wird immer erwähnt, daß man Zugriff auf eine openssl.cnf
haben müsste. Vielleicht liegt es daran, dachte ich, und habe es
mit eigenen "configargs" versucht.

$config = array(
"digest_alg" => "sha1",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_DSA,
"encrypt_key" => true
);

Ging aber genauso in die Hose.

Um was genau müsste ich unseren Provider bitten, damit ich mit
den Funktionen arbeiten kann?


Gruß
JPM

xfup de.comp.lang.php.installation

Re: Problem mit OpenSSL Funktionen

am 03.07.2006 16:05:35 von Frank Schenk

Jens Peter Moeller wrote:
> Hallo Zusammen,
>
> ich plane eine Webanwendung mit besonderen Sicherheitsanforderungen.
> Die gesamte Anwendung wird selbstverständlich nur über SSL laufen.
> Bestimmte, sensible Daten sollen aber auch in der DB auf dem Webserver
> zusätzlich noch verschlüsselt abgelegt werden. Dabei dachte ich an
> eine asymetrische Verschlüsselung mit Hilfe der OpenSSL-Funktionen.
> Aber schon diese funktionieren nicht auf unserem Server.
> Fehlermeldungen sind z.B.:
>
> error:02001002:system library:fopen:No such file or directory
> error:2006D002:BIO routines:BIO_new_file:system lib
> error:0E064002:configuration file routines:CONF_load:system lib
>
> Liegt das jetzt an PHP? Ist OpenSSL nicht korrekt installiert?

Die Fehlermeldung schaut irgendwie seltsam aus, etwas unvollständig.
Gibts das mit --verbose? :-)

Googeln nach "error:02001002:system library:fopen:No such file or
directory" hat nicht geholfen?

Ich hab z.B. http://www.openvpn-forum.de/viewtopic.php?p=7252 gefunden.

wenn iher das verzeichniss keys nicht erstellt passiert das hier:

14385:error:02001002:system library:fopen:No such file or
directory:bss_file.c:278:fopen('/home/howto/ssl/keys/ca.key' ,'w')
14385:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:280:


Ich vermute mal, daß openssl nicht richtig kompiliert oder konfiguriert
wurde.

http://www.google.de/search?hl=de&q=error%3A02001002%3Asyste m+library%3Afopen%3ANo+such+file+or+directory+&btnG=Google-S uche&meta=

Liefert 690 Treffer.


hth, Frank

P.S.: Der sich am WE auch mit openssl+openssh etc rumärgern durfte

Re: Problem mit OpenSSL Funktionen

am 03.07.2006 16:35:07 von dev-null-use-reply-adress

Frank Schenk schrieb:
> Jens Peter Moeller wrote:
>> Hallo Zusammen,
>>
>> ich plane eine Webanwendung mit besonderen Sicherheitsanforderungen.
>> Die gesamte Anwendung wird selbstverständlich nur über SSL laufen.
>> Bestimmte, sensible Daten sollen aber auch in der DB auf dem Webserver
>> zusätzlich noch verschlüsselt abgelegt werden. Dabei dachte ich an
>> eine asymetrische Verschlüsselung mit Hilfe der OpenSSL-Funktionen.
>> Aber schon diese funktionieren nicht auf unserem Server.
>> Fehlermeldungen sind z.B.:
>>
>> error:02001002:system library:fopen:No such file or directory
>> error:2006D002:BIO routines:BIO_new_file:system lib
>> error:0E064002:configuration file routines:CONF_load:system lib
>>
>> Liegt das jetzt an PHP? Ist OpenSSL nicht korrekt installiert?
>
> Die Fehlermeldung schaut irgendwie seltsam aus, etwas unvollständig.
> Gibts das mit --verbose? :-)

Vollständig gibt openssl_error_string() nach Aufruf von
openssl_pkey_new($config) aus:

error:02001002:system library:fopen:No such file or directory
error:2006D002:BIO routines:BIO_new_file:system lib
error:0E064002:configuration file routines:CONF_load:system lib
error:02001002:system library:fopen:No such file or directory
error:2006D002:BIO routines:BIO_new_file:system lib
error:0E064002:configuration file routines:CONF_load:system lib

> Googeln nach "error:02001002:system library:fopen:No such file or
> directory" hat nicht geholfen?

Hatte das gleiche wie Du gefunden. Es erhellt mich aber nicht.

> Ich vermute mal, daß openssl nicht richtig kompiliert oder konfiguriert
> wurde.

Ja, vermutlich. Aber ich glaube, ich mache mir das eh zu kompliziert.
Ich werde die Daten einfach symetrisch verschlüsseln und die Schlüssel
als MD5-Hash speichern. So sind sie IMHO hinreichend sicher, die Daten
sowieso bei geeignetem Algorithmus, und die Übertragung der Schlüssel
geht ja auch nur per SSL.

Gruß
JPM

Re: Problem mit OpenSSL Funktionen

am 04.09.2006 21:17:26 von Stefan Kuhn

Am Mon, 03 Jul 2006 16:35:07 +0200 schrieb Jens Peter Moeller:

Hallo,

welche PHP und welche OpenSSL Version setzt du denn ein?
Funktioniert OpenSSL von der Kommandozeile aus?
Wie sieht denn dein configue aus? Hast du PHP selbstkompiliert oder
arbeitest du unter Windows mit der dll?
Ich hatte mit OpenSSL noch nie Probleme. Wahrscheinlich ist einfach
nochmal Neukompilieren das einfachste.
Eventuell mit --prefix
Falls du es aber selbst kompiliert hast, liegt vielleicht noch eine alte
Version im bin/ Verzeichnis.
Mach doch mal ein openssl version und vergleiche dies mit
$PATH/TO/OPENSSL/bin/openssl version.

Okay, ich sehe gerade das du mit einem Provider arbeitest.

An der openssl.cnf dürfte es nicht liegen, denn wenn keine angegeben wurde,
findet er normalerweise die default conf.

Bei deinem Vorhaben solltest du eine Kleinigkeit beachten.
MD5 ist eine Einwegverschlüsselungsfunktion. D.h. wenn du den Schlüssel
hashst, kannst du ihn später nicht wieder herstellen.

Hast du die gleiche Prozedur einmal mit "exec" probiert?

Viele Grüsse
Stefan