From fa3e92385333620ad1d7c2c74b140fdf2a1ae0a5 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Thu, 03 Sep 2015 21:09:26 +0000 Subject: [PATCH] Extract creating stream context to createStreamContext() method --- uphpCAS.php | 29 +++++++++++++++++++---------- 1 files changed, 19 insertions(+), 10 deletions(-) diff --git a/uphpCAS.php b/uphpCAS.php index c67e7a4..5ded1ea 100644 --- a/uphpCAS.php +++ b/uphpCAS.php @@ -130,8 +130,8 @@ return $cafile; } - public function verifyTicket($ticket) { - $context = array( + protected function createStreamContext($hostname) { + $context = stream_context_create(array( 'http' => array( 'method' => 'GET', 'user_agent' => 'uphpCAS/'.self::VERSION, @@ -144,20 +144,29 @@ 'allow_self_signed' => FALSE, 'disable_compression' => TRUE, ), - ); + )); if(version_compare(PHP_VERSION, '5.6', '<')) { - $url = parse_url($this->serverUrl); - $context['ssl']['cafile'] = $this->findCaFile(); - $context['ssl']['ciphers'] = 'ECDH:DH:AES:CAMELLIA:!SSLv2:!aNULL' - .':!eNULL:!EXPORT:!DES:!3DES:!MD5:!RC4:!ADH:!PSK:!SRP'; - $context['ssl']['CN_match'] = $url['host']; + stream_context_set_option($context, array( + 'ssl' => array( + 'cafile' => $this->findCaFile(), + 'ciphers' => 'ECDH:DH:AES:CAMELLIA:!SSLv2:!aNULL:!eNULL' + .':!EXPORT:!DES:!3DES:!MD5:!RC4:!ADH:!PSK:!SRP', + 'CN_match' => $hostname, + ), + )); } + + return $context; + } + + public function verifyTicket($ticket) { + $url = parse_url($this->serverUrl); + $context = $this->createStreamContext($url['host']); $data = file_get_contents($this->serverUrl .'/serviceValidate?service='.urlencode($this->serviceUrl) - .'&ticket='.urlencode($ticket), - FALSE, stream_context_create($context)); + .'&ticket='.urlencode($ticket), FALSE, $context); if($data === FALSE) { throw new JasigException('Authentication error: CAS server is unavailable'); } -- Gitblit v1.9.1