Бібліотека для цифрового підпису

Бібліотека для цифрового підпису документів, що надсилаються до податкової (Україна)

Основний репозiторiй на Гiтхабi

Розпаковка ключа та сертифiкату

 
       $cert =    \PPOLib\Cert::load($certdata) ;
       
       $key =   \PPOLib\KeyStore::load($keydata,$password,$cert ) ;
          

Де
$certdata - змiст файлу сертифiката
$keydata - змiст файлу ключа
$password - пароль до ключа

Оскільки розпакування відбувається досить повільно, об'єкти $cert і $key слід покласти в сесію, або серіалізувати та сховати у надійному сховищі для подальшого використання
Підпис документа або команди
   
       $signeddata=  \PPOLib\PPO::sign('{"Command":"Objects"}'',$key,$cert);
      
Відправка запиту в податкову
  
       $answer =  \PPOLib\PPO::send($signeddata,'cmd')  ;
     
Якщо надсилається документ, відповіддю будуть підписані дані, з яких потрібно вийняти документ з відповіді (зазвичай xml)
 
       $data = \PPOLib\PPO::decrypt($answer,true) ;
      
Якщо припускати, що відповідь з податкової буде підписана правильно, то другий параметр (перевірка підпису) можна не вказувати - це прискорить обробку.