Я не могу выполнить зашифрованный запрос SOAP в PHP. В соответствии с документацией я зашифровал каждый запрос на платежный шлюз. Я создал CSR и отправил его в орган для сертификата. Они отправили мне сертификат домена и сертификат CA. Самая большая проблема заключается в том, что документация не предназначена для PHP. В соответствии с документом:
Веб-сервис защищен знаком WS-Security и шифрованием политика
После долгого поиска я обнаружил вспомогательный класс из Git, но всякий раз, когда я пытаюсь подключиться, я получаю следующую ошибку:
Общая ошибка безопасности (для дешифрования (KeyId) не найдено сертификатов)
FaultCode: wsse: InvalidSecurity
Я попытался установить заголовок SSL следующим образом:
$contextOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'cafile' => '../../certs/CA.cer',
'local_cert' => '../../certs/server.cer',
'local_pk' => '../../certs/private_key.key',
'verify_depth' => 0,
'allow_self_signed'=>true,
)
);
$sslContext = stream_context_create($contextOptions);
Обновление
Я определил ключи как:
define('PRIVATE_KEY', 'server_prvate_key.key');
define('CERT_FILE', 'domain_cert.cer');
define('SERVICE_CERT', 'CA.cer');
Что-то не так с этим определением (см. ссылку выше GIT)?