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

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

Основний репоз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) ;
  
Якщо припускати, що відповідь з податкової буде підписана правильно, то другий параметр (перевірка підпису) можна не вказувати це прискорить обробку.