Я настраивал signserver v5.0.0 для целей тестирования. Однако я мог бы создать работника для MRTDSODSigner и подписать данные с помощью локально установленного симулятора HSM. Я могу подписать данные только для длины символа 3 или меньше. Но когда я хочу сгенерировать SOD для более чем строковых данных длиной 3, я получаю эту ошибку:
Длина данных хеширования на стороне клиента должна совпадать с длиной заданного клиентом алгоритма дайджеста
Мои данные для генерации SOD при получении ошибки:
<sodData>
<dataGroup id="1">abcd</dataGroup>
<dataGroup id="2">abcd</dataGroup>
<dataGroup id="4">abcd</dataGroup>
<dataGroup id="5">abcd</dataGroup>
<dataGroup id="7">abcd</dataGroup>
<dataGroup id="11">abcd</dataGroup>
</sodData>
Но если я использую данные только как abc
, то это работает нормально.
Я использую алгоритм по умолчаниюдля генерации и подписи SOD, упомянутых в signserver при создании работника:
WORKERGENID1.DIGESTALGORITHM=SHA256
WORKERGENID1.SIGNATUREALGORITHM=SHA256withRSA