|
|
LXXII. OpenSSL FunktionenWarnung | Diese Erweiterung ist
EXPERIMENTELL. Das Verhalten dieser Erweiterung,
einschlie�lich der Funktionsnamen, und alles Andere was hier dokumentiert
ist, kann sich in zuk�nftigen PHP-Versionen ohne Ank�ndigung �ndern. Seien
Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.
|
Einf�hrung
Dieses Modul nutzt die Funktionen von
zur Erzeugung und
�berpr�fung von Signaturen und zum versiegeln (verschl�sseln) und
�ffnen (entschl�sseln) von Daten. OpenSSL bietet viele M�glichkeiten die
dieses Modul zum jetzigen Zeitpunkt nicht unterst�tzt. Einige dieser
M�glichkeiten werden vielleicht in zuk�nftigen Versionen zur Verf�gung
stehen.
Anforderungen
Bevor Sie die Openssl-Funktionen nutzen k�nnen, m�ssen Sie das
Paket installieren.
PHP-4.0.4pl1 setzt OpenSSL >= 0.9.6 voraus, PHP-4.0.5 und
folgende funktionieren auch mit OpenSSL >= 0.9.5.
Installation
Um Openssl mit PHP nutzen zu k�nnen, m�ssen Sie PHP mit der
Option --with-openssl[=DIR] �bersetzen.
Laufzeit KonfigurationDiese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini. Schl�ssel/Zertifikat Parameter
Ziemlich viele der OpenSSL Funktionen ben�tigen einen Schl�ssel-
oder einen Zertifikatparameter. PHP 4.0.5 und fr�here Versionen
m�ssen eine Schl�ssel- oder Zertifikatsresource nutzen, die von
einer der openssl_get_xxx Funktionen zur�ckgegeben wird. Sp�tere
Versionen k�nnen eine der folgenden Methoden benutzen:
Zertifikat Nachweis
Wenn Sie eine Funktion aufrufen, die eine Signatur/Zertifikat �berpr�ft,
ist der Parameter cainfo ein Array, das Datei- und
Verzeichnisnamen enth�lt, die auf vertrauensw�rdige CA Dateien verweisen.
Falls Sie ein Verzeichnis angeben, muss dies ein korrekt geformtes
gehashdes Verzeichnis sein, in der Art, wie es der Befehl
openssl verwenden w�rde.
Vordefinierte Konstanten
Folgende Konstanten werden von dieser Erweiterung definiert und
stehen nur zur Verf�gung, wenn die Erweiterung entweder statisch
in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
PKCS7 Kennzeichen/Konstanten
Die S/MIME Funktionen nutzen Kennzeichen die sich dadurch auszeichnen, dass
sie ein Bitfeld benutzen, das einen oder mehrere der folgenden Werte
enthalten kann:
Tabelle 1. PKCS7 KONSTANTEN Konstante | Beschreibung |
---|
PKCS7_TEXT | F�gt den text/plain Inhaltstyp Header einer
verschl�sselten/signierten Nachricht hinzu.
Wenn Sie entschl�sseln oder �berpr�fen, werden diese Header
von der Ausgabe entfernt - wenn die entschl�sselte oder
gepr�fte Nachricht nicht dem MIME Typ text/plain entspricht,
tritt ein Fehler auf. | PKCS7_BINARY | Normalerweise wird die Nachricht in ein "kanonisches"
Format konvertiert, das effektiv CR und LF als Zeilende benutzt:
wie von der S/MIME Spezifikation gefordert.
Wird diese Option angegeben, findet keine Konvertierung statt.
Das kann sich als n�tzlich erweisen, wenn Sie mit bin�ren Daten
umgehen, die nicht dem MIME Format entprechen.
| PKCS7_NOINTERN | Wenn Sie eine Nachricht �berpr�fen, werden in der Nachricht
enthaltene Zertifikate (falls es welche gibt) nach dem
unterzeichnenden Zertifikat durchsucht. Mit dieser Option werden
nur Zertifikate benutzt, die mit dem Parameter
extracerts in der Funktion
openssl_pkcs7_verify() angegeben wurden.
Die mitgelieferten Zertifikate k�nnen aber dennoch als nicht
vertrauensw�rdige CAs benutzt werden.
| PKCS7_NOVERIFY | Keine �berpr�fung des signierenden Zertifikats
einer signierten Nachricht. | PKCS7_NOCHAIN | Keine Verkn�pfung der �berpr�fung des Zertifikats mit den
Zertifikaten des Unterzeichners: das bedeutet, die Zertifikate in
der signierten Nachricht werden nicht als unvertrauensw�rdige CAs
benutzt.
| PKCS7_NOCERTS | Beim Signieren einer Nachricht wird normalerweise das
Zertifikat des Unterzeichnenden mit in die Nachricht
aufgenommen - mit dieser Option wird das Zertifikat nicht
mit aufgenommen. Diese Option verringert die Gr��e der signierten
Nachricht, aber der �berpr�fende muss eine lokale Kopie des
Zertifikats vom Unterzeichnenden besitzen (zum Beispiel durch Angabe
des Parameters extracerts in der Funktion
openssl_pkcs7_verify()).
| PKCS7_NOATTR | Beim Signieren einer Nachricht wird normalerweise eine Reihe
von Attributen mit angeh�ngt. Diese enthalten die Zeit der Signierung
und die unterst�tzen symmetrischen Algorithmen. Mit dieser Option werden
diese Attribute nicht mit aufgenommen.
| PKCS7_DETACHED | Beim Signieren einer Nachricht wird Klartext-Signierung
verwendet mit MIME Typ multipart/signed. Das ist der Standard,
wenn Sie keinen optionalen Parameter flags
an die Funktion openssl_pkcs7_sign() �bergeben.
Wenn Sie diese Option ausschalten wird die Nachricht mit einer
undurchsichtigen Signatur unterzeichnet. Dieses Verhalten ist robuster
gegen�ber der �bersetzung durch Mail-Relays, kann aber nicht mit
Mailprogrammen gelesen werden, die nicht den S/Mime Standard
unterst�tzen.
| PKCS7_NOSIGS | Kein Versuch und keine �berpr�fung der Signaturen einer
Nachricht.
|
Anmerkung: Diese Konstanten wurden in 4.0.6 hinzugef�gt.
User Contributed Notes OpenSSL Funktionen |
|
webmaster at jukkis dot net
06-Apr-2001 10:19 |
|
I had a hard time to make OpenSSL extension to load on Win98+Apache
1.3.17+Php4.0.4pl1.
Always complained about missing
extension.
Eventually I found this page:
and
there was the magic: One seems to need the files "libeay32.dll"
and "ssleay32.dll" in system32 directory.
You can get
them from
download
an apache .zip file, for example
"Apache_1.3.19-Mod_SSL_2.8.2-OpenSSL_0.9.6-WIN32.zip", extract
it, and copy the mentioned files from that Apache directory.
At
least phpinfo() says OpenSSL as loaded extension. Now I can start to
play with it :)
-jukkis
-www.jukkis.net
|
|
buzz77 at gmx dot net
02-Jun-2001 08:05 |
|
PHP 4.0.5 and OpenSSL
if you got an error message where php
complains about missing dlls, copy all files from /php/dll directory to
your windows/system(32) directory.
If it still can't load because the
MSVCR70.DLL is missing (not provided with the release found on this page),
go to this link, download it and place it in
windows/system(32).
|
|
alistair at lgeezer dot net
30-Jan-2003 03:37 |
|
Oops! That's not quite the entire truth. 4.3.0 and 0.9.7 do work together,
<= 4.2.1 and 0.9.7 don't. Sorry about that :-)
|
|
adolfo dot garcia at NOSPAM dot uservers dot net
07-May-2003 09:59 |
|
If you are having problems compiling php with openssl under redhat 9,
because it complains about the kerberos libraries and include headers, try
the following:
1. Make sure you have the kerb5-devel and krb5-libs
rpms installed. 2. Symlink the following files as follows:
ln
-s /usr/kerberos/include/com_err.h /usr/include/ ln -s
/usr/kerberos/include/profile.h /usr/include/ ln -s
/usr/kerberos/include/krb5.h /usr/include/
Then configure
--with-kerberos and --with-openssl and it should work.
This is the
error that appears whe running make (included so that the search engine
can find it):
/usr/include/openssl/kssl.h:72:18: krb5.h: No such
file or directory
|
|
|
| |