Нашел документацию, спасибо. Попробовал сделать шифрование как в примере:
public EnvelopedSignature()
Конструктор. Используется для создания подписи формата Enveloped CMS. Иинициализирует работу генератора подписи.
1. Пример формирования подписи формата Enveloped CMS с сохранением в буфер
// Буфер для сохранения подписи Enveloped CMS
ByteArrayOutputStream envelopedByteArrayOutStream = new ByteArrayOutputStream();
// Создание объекта Enveloped CMS
EnvelopedSignature signature = new EnvelopedSignature();
// Добавление получателя (сертификат). При расшифровании получатель
// будет использовать закрытый ключ, соответствующий данному сертификату
signature.addKeyTransRecipient(recipientCertificate);
// или
signature.addKeyAgreeRecipient(recipientCertificate);
// Инициализация Enveloped CMS буфером для сохранения подписи
signature.open(envelopedByteArrayOutStream);
// Подготовленные данные для зашифрования - строка или CMS,
// полученная с помощью CMSSign (samples.jar) или CAdES API
byte[] data = ...
// Зашифрование данных data
signature.update(data, 0, data.length);
// Формирование подписи Enveloped CMS
signature.close();
// Получение подписи в формате Enveloped CMS в буфер
byte[] envelopedByteData = envelopedByteArrayOutStream.toByteArray();
На шаге - signature.open(envelopedByteArrayOutStream);
Программа выдает ошибку
ru.CryptoPro.CAdES.exception.EnvelopedException:
Output cipher initiation failedjava.security.InvalidKeyException:
Illegal key size or default parametersПодскажите пожалуйста что она означает?
И в чем отличие signature.addKeyTransRecipient() от signature.addKeyAgreeRecipient()?
Отредактировано пользователем 7 февраля 2017 г. 16:15:26(UTC)
| Причина: Не указана