Назад | Перейти на главную страницу

Сертификат цифровой подписи для SOAP

Я вызываю стороннюю веб-службу с запросами SOAP. Эта служба требует, чтобы я подписывал свои запросы SOAP цифровой подписью. Относительно Как купить сертификат X.509 для подписи цифровых полезных данных вопрос, я купил сертификат подписи электронной почты от Entrust.

Я получил закрытый ключ от Entrust в .p12 формат. Я использовал диспетчер сертификатов Windows, чтобы извлечь из него открытый ключ. Я доставил этот открытый ключ поставщику веб-услуг. Я не мог использовать закрытый ключ непосредственно в .p12формат в моей программе, поэтому я использовал openssl, чтобы преобразовать его в .pem формат. Строго говоря, я использовал такую ​​команду: openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes.

Я использую преобразованный закрытый ключ, открытый ключ и парольную фразу для создания подписи в заголовке моего SOAP-запроса, однако при отправке запроса служба выдает мне ошибку «Не удалось проверить токен безопасности». Я не вижу какой-либо конкретной ошибки, так как в ней отображаются только данные сертификата.

Что-то я делаю не так?

РЕДАКТИРОВАТЬ: Возможно, проблема связана с моим сертификатом. Я обнаружил, что алгоритм хеширования моего сертификата - SHA-256, хотя мой клиент SOAP поддерживает только SHA-1, а также сторонний поставщик услуг.