<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stima Soft &#187; webservice</title>
	<atom:link href="http://www.evolua.ro/category/webservice/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.evolua.ro</link>
	<description>Stima Soft web blog</description>
	<lastBuildDate>Tue, 20 Dec 2011 14:57:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>cURL , PHP si SSL</title>
		<link>http://www.evolua.ro/curl-php-si-ssl/</link>
		<comments>http://www.evolua.ro/curl-php-si-ssl/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 11:14:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.evolua.ro/?p=214</guid>
		<description><![CDATA[La un moment dat am avut nevoie de a accesa un serviciu ssl din php folosind cURL. NU intentionam sa folosesc cURL, dar asta folosea PEAR : SOAP. Dupa mai mutle incercari, gaseam eroarea de ssl, de certificat invalid. Rezolvarea e una simpla : Dezactivam din cURL verificarea PEER (CURLOPT_SSL_VERIFYPEER), insa nu e elegant. Metoda [...]]]></description>
			<content:encoded><![CDATA[<p>La un moment dat am avut nevoie de a accesa un serviciu ssl din php folosind cURL. NU intentionam sa folosesc cURL, dar asta folosea PEAR : SOAP. Dupa mai mutle incercari, gaseam eroarea de ssl, de certificat invalid.</p>
<p>Rezolvarea e una simpla : Dezactivam din cURL verificarea PEER (CURLOPT_SSL_VERIFYPEER), insa nu e elegant.<br />
Metoda eleganta presupune insa, salvarea certificatului si trimiterea lui in requestul cURL.</p>
<p>Trimiterea se face astfel :<br />
<code><br />
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);<br />
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);<br />
curl_setopt($ch, CURLOPT_CAINFO, 'fisierul in care se tine certificatul salvat in format PEM');<br />
</code></p>
<p>Fisierul trebuie sa fie salvat in format X.509 Certificate (PEM). Asta se paote face din browser, la view certificate/export.</p>
<p>Ce facem insa cand aplicatia ruleaza si se depaseste expire date ?<br />
Folosind functiile php stream, putem accesa certificatul. Cu ajutorul extensiei openssl il putem salva.</p>
<p><code><br />
$url = 'url'; //url-ul care necesita certificatul ,fara protocol.<br />
$context = stream_context_create();<br />
$res = stream_context_set_option($context, 'ssl', 'capture_peer_cert', true);<br />
$res = stream_context_set_option($context, 'ssl', 'verify_host', true);<br />
if ($socket = stream_socket_client("tls://$url:443/", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;if ($options = stream_context_get_options($context))<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( isset ($options['ssl']) &amp;&amp; isset ($options['ssl']['peer_certificate']))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$keyinfo = openssl_x509_export_to_file($options['ssl']['peer_certificate'], 'file to save to');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</code></p>
<p>Data de expirare a certificatului curent se poate lua astfel :<br />
<code><br />
$keyinfo = openssl_x509_parse(file_get_contents($filename));<br />
var_dump($keyinfo['validTo']);<br />
</code><br />
Data este in format YYMMDDHHMMSS. </p>
<p>Spor la conectare SSL.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evolua.ro/curl-php-si-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebService-uri in php</title>
		<link>http://www.evolua.ro/webservice-uri-in-php/</link>
		<comments>http://www.evolua.ro/webservice-uri-in-php/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 14:42:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://www.evolua.ro/?p=101</guid>
		<description><![CDATA[Definitia unui web-service: here Cum se realizeaza un web-service in php: here]]></description>
			<content:encoded><![CDATA[<p>Definitia unui web-service: <a href="http://www.w3.org/TR/wsdl">here</a><br />
Cum se realizeaza un web-service in php: <a href="http://www.webforefront.com/about/danielrubio/articles/ostg/phpwebservices.html">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evolua.ro/webservice-uri-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>


