• Страница:
  • 1

ТЕМА: createCMSSignature

createCMSSignature 2 года, 9 мес. назад #2702

  • Rustem2016
  • Давно я тут
  • Постов: 93
  • Репутация: 5
Добрый день!
Для подписания файла в NCALayer можно использовать метод createCMSSignatureFromFile.
Для подписания текста можно использовать createCMSSignature.
Есть структура JSON для получения подписи
var createCMSSignature = {
"method": "createCMSSignature",
"args": [storageName, storagePath, alias, password, dataToSign, attached]
};
Я имею файл из базы в byte[]. Мне необходимо создать подпись на него. Как я должен его передать в эту структуру в NCALayer без сохранения в файл у пользователя ? Base64 или DatatypeConverter.printBase64Binary или еще как?
При этом чтобы пользователь потом сам мог проверить данный файл через метод createCMSSignatureFromFile!
Изменено: 2 года, 9 мес. назад от Rustem2016.

Re: createCMSSignature 2 года, 9 мес. назад #2710

  • Rustem2016
  • Давно я тут
  • Постов: 93
  • Репутация: 5
Добрый день!
Еще возник вопрос - каким методом в SDK (на Java) можно "разделить" Подпись и содержимое файла через подписание createCMSSignatureFromFile с включенным режимом "Включить данные в подпись"?

Re: createCMSSignature 2 года, 8 мес. назад #2824

  • margulan
  • Модератор
  • Постов: 166
  • Репутация: 12
Rustem2016 написал:
Добрый день!
Еще возник вопрос - каким методом в SDK (на Java) можно "разделить" Подпись и содержимое файла через подписание createCMSSignatureFromFile с включенным режимом "Включить данные в подпись"?


В провайдере есть класс CMSSignedData с конструктором, который принимает подпись в виде byte[], далее можно использовать методы getSignedContent, getSignerInfos и т.д.
По первому вопросу попробуйте подписать данные в виде Base64.

Re: createCMSSignature 2 года, 8 мес. назад #2828

  • Rustem2016
  • Давно я тут
  • Постов: 93
  • Репутация: 5
Спасибо за ответы!
В продолжении первого вопроса:
Если я подпишу файл методом createCMSSignature преобразовав его в Base64, то не возникнет ли проблема для валидации этого файла методом verifyCMSSignatureFromFile, потому что содержимое не тоже самое (один byte[], другой Base64)?

Re: createCMSSignature 2 года, 8 мес. назад #2834

  • margulan
  • Модератор
  • Постов: 166
  • Репутация: 12
Чтобы избежать эту проблему, при верификации на стороне пользователя нужно будет также конвертировать в Base64 и использовать verifyCMSSignature вместо verifyCMSSignatureFromFile.
  • Страница:
  • 1
FaLang translation system by Faboba