Статус: Участник
Группы: Участники
Зарегистрирован: 15.12.2017(UTC) Сообщений: 14 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
День добрый! Пытаюсь сформировать подпись pkcs7 Ошибку получаю в строке SignerInfoGenerator qq = q.build(algname1, key1, cert1); Как я понимаю, указываю не тот идентификатор алгоритма А вот какой правильный - прошу подсказать Код:
String XML="Test String";
KeyStore hd1;
hd1 = KeyStore.getInstance("HDImageStore");
hd1.load(new FileInputStream("C:\\Eclipse workspace\\trust17"), "123".toCharArray());
PrivateKey key1;
key1 = (PrivateKey)hd1.getKey("PK17", "123".toCharArray());
java.security.cert.Certificate chainbog1[];
chainbog1=hd1.getCertificateChain("PK17");
X509Certificate cert1 = (X509Certificate)chainbog1[0];
JcaCertStore certs1 = new JcaCertStore(Arrays.asList(chainbog1));
CMSSignedDataGenerator gen1 = new CMSSignedDataGenerator();
String algname1= JCP.GOST_DIGEST_NAME;
JcaSimpleSignerInfoGeneratorBuilder q = new JcaSimpleSignerInfoGeneratorBuilder().setProvider("JCP");
SignerInfoGenerator qq = q.build(algname1, key1, cert1);
gen1.addSignerInfoGenerator(qq);
//gen1.addSignerInfoGenerator(new JcaSimpleSignerInfoGeneratorBuilder().setProvider("JCP").build(algname1, key1, cert1));
gen1.addCertificates(certs1);
CMSTypedData typeddata1 = new CMSProcessableByteArray(XML.getBytes());
CMSSignedData signeddata1 = gen1.generate(typeddata1);
BASE64Encoder b64encoder = new BASE64Encoder();
String signedxml1 = b64encoder.encode(signeddata1.getEncoded());
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. Автор: stanbel1 ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) q.build(algname1, key1, cert1);
А что должно быть в указанном параметре? Идентификатор алгоритма хеширования, алгоритма подписи? OID или имя? Как их ищет BC? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.12.2017(UTC) Сообщений: 14 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Документация очень скудная по этому моменту
the name of the signature algorithm, те Алгоритм подписи
Чаще всего в примерах просто указана константа: "SHA1withRSA"
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Тогда попробуйте "GOST3411withGOST3410EL", но, скорее всего, его оид; он должен быть в руководстве разработчика jcp. Отредактировано пользователем 25 декабря 2017 г. 18:21:16(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.12.2017(UTC) Сообщений: 14 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Большое спасибо за помощь, получилось!
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close