Bug #63992 [Opn->Asn]: php not use default openSSH confing

From: Date: Tue, 15 Jan 2013 15:21:33 +0000
Subject: Bug #63992 [Opn->Asn]: php not use default openSSH confing
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-176035@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=63992&edit=1

 ID:                 63992
 Updated by:         tony2001@php.net
 Reported by:        mikhail dot v dot gavrilov at gmail dot com
 Summary:            php not use default openSSH confing
-Status:             Open
+Status:             Assigned
 Type:               Bug
 Package:            OpenSSL related
 Operating System:   RHEL/Fedora
 PHP Version:        5.4.11RC1
-Assigned To:        
+Assigned To:        pajoye
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2013-01-15 14:51:34] mikhail dot v dot gavrilov at gmail dot com

Description:
------------
For using GOST encryption engine:
1. i compiled openSSH with GOST support
2. added the following lines in openssl.cnf

openssl_conf = openssl_def

[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gost
default_algorithms = ALL
dynamic_path = /usr/lib/openssl/engines/libgost.so
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

But when I use curl PHP still get error: 'Cannot communicate securely with peer: 
no common encryption algorithm(s).'

Than I search I find this solution: 
http://stackoverflow.com/questions/10959771/openssl-and-gost-engine-issue-
statically-linked

So I create patch 

*** 111/openssl.c       2012-12-19 12:55:19.000000000 +0600                                         
                                                         
--- openssl.c   2013-01-15 18:43:22.000000000 +0600                                                 
                                                         
***************                                                                                     
                                                         
*** 1038,1043 ****                                                                                  
                                                         
--- 1038,1046 ----                                                                                  
                                                         
        le_x509 = zend_register_list_destructors_ex(php_x509_free, NULL, 
"OpenSSL X.509", module_number);                                                     
        le_csr = zend_register_list_destructors_ex(php_csr_free, NULL, "OpenSSL 
X.509 CSR", module_number);                                                   
                                                                                                    
                                                         
+       /* needed for use default config */                                                         
                                                         
+       OPENSSL_config(NULL);                                                                       
                                                         
+                                                                                                   
                                                         
        SSL_library_init();                                                                         
                                                         
        OpenSSL_add_all_ciphers();                                                                  
                                                         
        OpenSSL_add_all_digests();  

and my script became work.

Test script:
---------------
$address="https://icrs.nbki.ru/products/B2BRequestServlet";
// $proxy = '10.10.4.24:3128';
$xml = '';

$ch = curl_init($address);
$page = "Xml.php";
$headers = array(
	"POST ".$page." HTTP/1.0",
	"content-type:application/octet-stream;charset=\"windows-1251\"",
);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
if(isset($proxy)) curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);if ($response === false) throw new Exception(curl_error($ch));
curl_close($ch);



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63992&edit=1


Thread (10 messages)

« previous php.bugs (#176035) next »