lest, just lest

Заметки о web-разработке, администрировании Linux и настройке Mac OS X

Archive for the ‘php’ tag

Развертывание Symfony приложения с Capistrano и Subversion

без комментариев

Одним важных процессов в разработке web-приложений, в том числе и написанных с использованием фреймворка Symfony, является деплоймент или разворачивание и обновление проекта на удаленном сервере. Для выполнения подобных действий существует множество средств и одним из самых популярных является Capistrano. Он достаточно прост в освоении, очень гибок в настройке и функциональный богат, но по-умолчанию настроен для Ruby on Rails приложений.

Настроить Capistrano для развертывания Symfony приложений не составляет особого труда, так как все этапы стандартного процесса с легкостью можно переопределить.

В корне проекта запускаем capify . и начинаем настраивать config/deploy.rb.

Read the rest of this entry »

Автор: lest

Февраль 5, 2010 в 6:07 пп

Опубликовано в development

Метки: , , , , , ,

PHP Soap client и WS-Security

без комментариев

Для того, чтобы отправить soap-запрос с цифровой подписью, можно конечно использовать extension WSF и переделывать все свои запросы, основанные на SoapClient.

Но есть и вариант попроще с использованием библиотеки soap-wsse:

require_once('soap-wsse.php');

class SecuredSoapClient extends SoapClient {
  public function __doRequest($request, $location, $action, $version, $one_way = 0) {
    $doc = new DOMDocument('1.0');
    $doc->loadXML($request);

    $pem = file_get_contents('client.pem'); // файл с сертификатом и private ключом

    $wsse = new WSSESoap($doc);

    // добавляем в запрос сертификат
    $bin_token = $wsse->addBinaryToken($pem);

    // получаем private ключ для подписи
    $sec_key = new XMLSecurityKey(XMLSecurityKey::RSA_SHA1, array('type' => 'private'));
    $sec_key->loadKey($pem);

    // добавляем цифровую подпись в запрос
    $wsse->signSoapDoc($sec_key);

    // добавляем в цифровую подпись ссылку на сертификат
    $wsse->attachTokentoSig($bin_token);

    return parent::__doRequest($wsse->saveXML(), $location, $action, $version, $one_way);
  }
}

Используя класс SecuredSoapClient вместо SoapClient, запросы будут отправляться уже с цифровой подписью.

Автор: lest

Ноябрь 15, 2009 в 10:43 пп

Опубликовано в php

Метки: , ,