| | |
| | | if($serviceUrl != NULL) { |
| | | $this->serviceUrl = $serviceUrl; |
| | | } else { |
| | | $url = 'http://'; |
| | | $port = 0; |
| | | if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { |
| | | $url = 'https://'; |
| | | if(isset($_SERVER['SERVER_PORT']) |
| | | && $_SERVER['SERVER_PORT'] != '443') { |
| | | $port = $_SERVER['SERVER_PORT']; |
| | | } |
| | | } elseif(isset($_SERVER['SERVER_PORT']) |
| | | && $_SERVER['SERVER_PORT'] != '80') { |
| | | $port = $_SERVER['SERVER_PORT']; |
| | | } |
| | | |
| | | $url .= $_SERVER['SERVER_NAME']; |
| | | |
| | | if($port != 0) { |
| | | $url .= ':'.$port; |
| | | } |
| | | $url .= $_SERVER['REQUEST_URI']; |
| | | |
| | | $this->serviceUrl = $url; |
| | | $this->serviceUrl = $this->getCurrentUrl(); |
| | | } |
| | | |
| | | if($sessionName) { |
| | | $this->sessionName = $sessionName; |
| | | } |
| | | } |
| | | |
| | | public function getCurrentUrl() { |
| | | $url = 'http://'; |
| | | $port = 0; |
| | | if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { |
| | | $url = 'https://'; |
| | | if(isset($_SERVER['SERVER_PORT']) |
| | | && $_SERVER['SERVER_PORT'] != '443') { |
| | | $port = $_SERVER['SERVER_PORT']; |
| | | } |
| | | } elseif(isset($_SERVER['SERVER_PORT']) |
| | | && $_SERVER['SERVER_PORT'] != '80') { |
| | | $port = $_SERVER['SERVER_PORT']; |
| | | } |
| | | |
| | | $url .= $_SERVER['SERVER_NAME']; |
| | | |
| | | if($port != 0) { |
| | | $url .= ':'.$port; |
| | | } |
| | | $url .= $_SERVER['REQUEST_URI']; |
| | | } |
| | | |
| | | public function getServerUrl() { |
| | |
| | | $this->serviceUrl = $serviceUrl; |
| | | } |
| | | |
| | | public function getSessionName($sessionName) { |
| | | public function getSessionName() { |
| | | return $this->sessionName; |
| | | } |
| | | public function setSessionName($sessionName) { |
| | |
| | | } |
| | | } |
| | | |
| | | protected function findCaFile() { |
| | | $cafiles = array( |
| | | '/etc/ssl/certs/ca-certificates.crt', |
| | | '/etc/ssl/certs/ca-bundle.crt', |
| | | '/etc/pki/tls/certs/ca-bundle.crt', |
| | | ); |
| | | |
| | | $cafile = NULL; |
| | | foreach($cafiles as $file) { |
| | | if(is_file($file)) { |
| | | $cafile = $file; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return $cafile; |
| | | } |
| | | |
| | | public function verifyTicket($ticket) { |
| | | $context = array( |
| | | 'http' => array( |
| | |
| | | ); |
| | | |
| | | if(version_compare(PHP_VERSION, '5.6', '<')) { |
| | | $cafiles = array( |
| | | '/etc/ssl/certs/ca-certificates.crt', |
| | | '/etc/ssl/certs/ca-bundle.crt', |
| | | '/etc/pki/tls/certs/ca-bundle.crt', |
| | | ); |
| | | $cafile = NULL; |
| | | foreach($cafiles as $file) { |
| | | if(is_file($file)) { |
| | | $cafile = $file; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | $url = parse_url($this->serverUrl); |
| | | $context['ssl']['cafile'] = $cafile; |
| | | $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']; |