Позвоните в службу подписи сервера с сертификатом в кодировке Base64 в DSS - PullRequest
0 голосов
/ 08 февраля 2019

Мне нужно выполнить tok:sign запрос DSS с заданным сертификатом вместо псевдонима.

<alias>certificate</alias>

Я попытался заменить ниже один строкой base64, но получилследующая ошибка в журнале.

INFO |http-nio-8080-exec-3 |oacxf.services.SoapSignatureTokenConnection.FAULT_OUT |FAULT_OUT

Пример исходного SOAP-запроса:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tok="http://token.dss.esig.europa.eu/">
   <soapenv:Header/>
   <soapenv:Body>
      <tok:sign>
         <toBeSigned>
            <bytes>wFNeS+K3n/2TKRMFQ2v4iTFOSj+uwF7P/Lt98xrZ5Ro=</bytes>
         </toBeSigned>
         <digestAlgorithm>SHA256</digestAlgorithm>
         <alias>certificate</alias>
      </tok:sign>
   </soapenv:Body>
</soapenv:Envelope>

Я уже добавил сертификат в файл cacerts, но не могу получить его с помощью getKeys SOAP-запроса.Или, с другой стороны, как я могу добавить новый p12 на стороне сервера, чтобы сделать его доступным по псевдониму?

1 Ответ

0 голосов
/ 20 февраля 2019

p12 файл настраивается в файле dss.properties, base64 напрямую в запросе не поддерживается:

Server signing token
dss.server.signing.keystore.type = PKCS12
dss.server.signing.keystore.filename = user_a_rsa.p12
dss.server.signing.keystore.password = password

В случае демо-веб-приложения необходимо перестроить корень репозитория dss-демонстраций (mvn clean install) поставить новый сертификат подписи в веб-приложении.

...