ID: 42886 Updated by: [EMAIL PROTECTED] Reported By: tokul at users dot sourceforge dot net -Status: Open +Status: Feedback Bug Type: OpenSSL related Operating System: Linux Debian Etch PHP Version: 5CVS-2007-10-08 (snap) New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2007-10-08 10:52:55] tokul at users dot sourceforge dot net Description: ------------ According to last chapter in openssl_x509_checkpurpose() manual function should return true, false or int(-1). Synopsis line shows that function returns integer. If I check public certificate file with OpenSSL binary (openssl x509 -purpose -in certfile.pem), it shows purposes as ---- SSL client : Yes SSL client CA : No SSL server : Yes SSL server CA : No Netscape SSL server : Yes Netscape SSL server CA : No S/MIME signing : Yes S/MIME signing CA : No S/MIME encryption : Yes S/MIME encryption CA : No CRL signing : Yes CRL signing CA : No Any Purpose : Yes Any Purpose CA : Yes OCSP helper : Yes OCSP helper CA : No ---- If I check it with PHP ---- var_dump(openssl_x509_checkpurpose(file_get_contents('./certfile.pem'),X509_PURPOSE_SMIME_SIGN)); --- it returns int(0). Int(0) is evaluated as boolean false in PHP. Tested PHP 5.2.0 and PHP 5.2-dev (200710080830). OpenSSL 0.9.8c (Debian 0.9.8c-4 package). Used Thawte free email certificate for testing. Certificate is valid from 2007.02.24 till 2008.02.24. System clock is correct. Reproduce code: --------------- var_dump(openssl_x509_checkpurpose(file_get_contents('./certfile.pem'),X509_PURPOSE_SMIME_SIGN)); Expected result: ---------------- bool(true) or int(1) Actual result: -------------- int(0) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=42886&edit=1