leray
Новичок
Пишу клиент для работы с EPP сервером.
Авторизация на сервере происходит используя клиентский сертификат и ключ.
Соединение с сервером устанавливается, сервер возвращает приветствие и на этом всё.
На команды не реагирует, просто возвращает тоже самое приветствие
К серверу подключаюсь:
Получаю приветствие от сервера
Далее, к примеру, пробую авторизоваться, xml взят из примеров в описании EPP
XML:
функции передачи комманды на сервер:
//первые 4 байта - длина пакета, далее тело пакета
И получаю тоже самое приветствие
В чём может быть загвоздка??
Авторизация на сервере происходит используя клиентский сертификат и ключ.
Соединение с сервером устанавливается, сервер возвращает приветствие и на этом всё.
На команды не реагирует, просто возвращает тоже самое приветствие
К серверу подключаюсь:
PHP:
$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'local_cert', $this->path.$this->cert_file);
$result = stream_context_set_option($context, 'ssl', 'passphrase', '');
$result = stream_context_set_option($context, 'ssl', 'verify_peer',false);
$result = stream_context_set_option($context, 'ssl', 'verify_host',false);
$this->socket=stream_socket_client("ssl://".$this->host.":".$this->port,$errno,$errstr, 60, STREAM_CLIENT_CONNECT, $context);
Далее, к примеру, пробую авторизоваться, xml взят из примеров в описании EPP
XML:
PHP:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="[url]http://www.w3.org/2001/XMLSchema-instance[/url]" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<command>
<login>
<clID>%username%</clID>
<pw>%password%</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>[url]http://www.nic.cz/xml/epp/contact-1.6</objURI>[/url]
<objURI>[url]http://www.nic.cz/xml/epp/nsset-1.2</objURI>[/url]
<objURI>[url]http://www.nic.cz/xml/epp/domain-1.4</objURI>[/url]
<objURI>[url]http://www.nic.cz/xml/epp/keyset-1.3</objURI>[/url]
<svcExtension>
<extURI>[url]http://www.nic.cz/xml/epp/enumval-1.2</extURI>[/url]
</svcExtension>
</svcs>
</login>
<clTRID>wgyn001#10-02-08at13:58:06</clTRID>
</command>
</epp>
функции передачи комманды на сервер:
PHP:
private function sendEppCmd($xml) {
if(is_null($this->socket)) return false;
$len = $this->strBytes($xml);
$value = $len + 4;
$b3 = $value % 256;
$value = ($value - $b3)/256;
$b2 = $value % 256;
$value = ($value - $b2)/256;
$b1 = $value % 256;
$value = ($value - $b1)/256;
$b0 = $value % 256;
//header
if(!@fwrite($this->socket, chr($b0).chr($b1).chr($b2).chr($b3), 4)){
$this->last_error="Unable to write header while sending command";
return false;
}
//cmd body
if(!@fwrite($this->socket, $xml)){
$this->last_error="Unable to write body while sending command";
return false;
}
return true;
}
И получаю тоже самое приветствие
В чём может быть загвоздка??