Afficher une url https , ouverture de certificats

dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011 - 23 déc. 2010 à 16:36
dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011 - 10 janv. 2011 à 21:57
bonjour à tous,
voila j'aimerai ouvrir une url https à l'aide de mes certificats perso (clée privée client.pfx ou .pem)

$port = 443;
$host = "https://monurl";

$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'local_cert', '/path/client.pem');
$result = stream_context_set_option($context, 'ssl', 'passphrase', 'mapassphrase');

$socket = fsockopen('ssl://'.$host, $port, $context);


actuellement j'obtiens l'erreur suivante hôte inconnu.
un coup de main serai le bienvenu

si il existe une alternative avec fopen cela m'intéresse, car ça m'éviterai de modifier la conf de mon serveur.

merci à toute personne qui lira mon message

8 réponses

dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011
23 déc. 2010 à 16:39
oups une erreur de ma part,
mon hote est :
$host = "www.monurl.fr";
0
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
23 déc. 2010 à 16:49
Bonjour,

Tu est en local ? ou tu cherche à te connecter sur un serveur distant ?


Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
0
dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011
23 déc. 2010 à 16:52
salut,
merci pour cette rep rapide.
actuellement j'effectue des test en local (par contre mon hôte n'est pas en local)
mais à terme cela ne sera plus en local
cordialement
0
dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011
23 déc. 2010 à 16:54
une petite précision concernant mon serveur php local issue de mon phpinfo:

Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls

donc j'ai bien le ssl d'activé, pourtant il ne trouve pas mon host
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
23 déc. 2010 à 17:02
Bonjour,

Dans ton cas on est d'accord que c'est ton serveur distant qui doit accepter la connexion entrante.
Vérifie de son coté que les connections sont autorisé sur le port 443.


Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
0
dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011
23 déc. 2010 à 17:09
Dans ton cas on est d'accord que c'est ton serveur distant qui doit accepter la connexion entrante.
oui

ok je vais vérifié
0
dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011
28 déc. 2010 à 09:43
re, alors après vérification mon serveur accepte bien les connexions sur le port 443 (entrantes et sortantes).

j'ai changé mon code en ceci :
<?php
// création d'un contexte pour passer les certifs a la connexion
$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'local_cert', 'client.pem');
$result = stream_context_set_option($context, 'ssl', 'passphrase', 'mapassphrase');
$result = stream_context_set_option($context, 'ssl', 'allow_self_signed', 'TRUE');
 
//conexion
$fp = stream_socket_client("ssl://www.monsite.fr/blog/achat:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
 
// pour affichage du contenu de la page
   fputs($fp, "GET / HTTPS/1.0\r\nHost:www.netquattro.fr/blog/achat/index.php?feed/rss2\r\nAccept: */*\r\n\r\n");
   while (!feof($fp)) {
       echo fgets ($fp,1024);
   }
   fclose($fp);
 
?>
 


mais cela ne marche toujours pas j'obtiens l'erreur suivante :

Warning: stream_socket_client() [function.stream-socket-client]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in E:\Program Files\EasyPHP-5.3.4.0\www\test.php

quelqu'un aurai t'il une idée pour m'aider, car débutant en php je ne trouve pour le moment aucune solution à ce problème.
je précise que l'adresse que je lui passe est bien valide.

je suis ouvert à toute autre proposition pour ce qui est de simplifier mon code, ou utilisé d'autres fonctions.
0
dareman Messages postés 39 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 10 janvier 2011
10 janv. 2011 à 21:57
problème résolu avec un stream_socket, une clée .pem et un fopen
0
Rejoignez-nous