logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Лис545  
#1 Оставлено : 29 апреля 2019 г. 16:44:59(UTC)
Лис545

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2018(UTC)
Сообщений: 7
Российская Федерация

Каким образом возможно в приложении на android при создании отсоединённой подписи в случае если уже имеется ранее созданная отсоединённая подпись, добавить вновь создаваемую подпись к существующей, т.е. осуществить соподписание? Примеры содержат только сооздание новой подписи.
Offline Евгений Афанасьев  
#2 Оставлено : 29 апреля 2019 г. 17:09:27(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 2,734
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 385 раз в 380 постах
Здравствуйте.
В samples-sources.jar в дистрибутиве jcp в пакете CAdES есть примеры соподписи.
Техническую поддержку оказываем тут
Наша база знаний
Offline Лис545  
#3 Оставлено : 17 мая 2019 г. 12:37:35(UTC)
Лис545

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2018(UTC)
Сообщений: 7
Российская Федерация

При попытке запустить любой пример получаю следующее исключение:
W/System.err: Invalid encryption oid 1.2.643.7.1.1.1.1 (invalid private key algorithm or encryption algorithm), expected: 1.2.643.7.1.1.6.1; error codes: [109] 'Algorithm mismatch',
W/System.err: at ru.CryptoPro.CAdES.cl_1.addSigner(Unknown Source:568)
W/System.err: at crypto.CAdES.SignExample.createMixedSignatureWith2Signers(SignExample.java:90)
W/System.err: at crypto.CAdES.SignExample.signExample(SignExample.java:171)
W/System.err: at crypto.CAdES.SignExample.main(SignExample.java:207)
Offline Евгений Афанасьев  
#4 Оставлено : 17 мая 2019 г. 13:08:32(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 2,734
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 385 раз в 380 постах
В примере createMixedSignatureWith2Signers, скорее всего, зафиксированы oid'ы подаваемых в addSigner алгоритмов. Задайте их null (алгоритм подписи и хеширования).
Техническую поддержку оказываем тут
Наша база знаний
Offline Лис545  
#5 Оставлено : 17 мая 2019 г. 13:22:05(UTC)
Лис545

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2018(UTC)
Сообщений: 7
Российская Федерация

OID'ы берутся из конфигурации:
public static InputStream createMixedSignatureWith2Signers(IConfiguration config, String outFileName) throws Exception {
CAdESSignature cadesSignature = new CAdESSignature(config.detached());
cadesSignature.setCertificateStore(config.getCertificateStore());
cadesSignature.setCRLStore(config.getCRLStore());
// Создаем подписанта CAdES-BES.
cadesSignature.addSigner(config.getProviderName(),
config.getDigestOid(),
config.getPublicKeyOid(),
config.getPrivateKey(),
config.getChain(),
CAdESType.CAdES_BES, null, false,
config.getSignedAttributes(),
config.getUnsignedAttributes(),
config.getCRLs());

При попытке передать вместо них null получаю следующее:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
Offline Евгений Афанасьев  
#6 Оставлено : 17 мая 2019 г. 17:00:43(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 2,734
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 385 раз в 380 постах
Нужно включить логирование: adb shell setprop log.tag.JCP DEBUG (отключение - adb shell setprop log.tag.JCP INFO) и посмотреть лог adb.
Техническую поддержку оказываем тут
Наша база знаний
Offline Лис545  
#7 Оставлено : 20 мая 2019 г. 12:30:30(UTC)
Лис545

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2018(UTC)
Сообщений: 7
Российская Федерация

В логе следующее:
2019-05-20 12:28:10.989 26132-26132/com.example.tabtest D/JCP: ru.CryptoPro.JCSP.Key.GostKeyFactory.engineGeneratePublic :: enter
2019-05-20 12:28:10.990 26132-26132/com.example.tabtest D/JCP: ru.CryptoPro.JCSP.Key.GostKeyFactory.engineGeneratePublic :: exit
2019-05-20 12:28:11.034 26132-26132/com.example.tabtest W/JCP: ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build :: unable to find valid certification path to requested target
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:291)
at ru.CryptoPro.reprov.CPCertPathBuilder.engineBuild(Unknown Source:88)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:291)
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl$1CertPathBuilderWrapper.build(Unknown Source:4)
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source:224)
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source:84)
at ru.CryptoPro.CAdES.cl_1.addSigner(Unknown Source:190)
at crypto.CAdES.SignExample.createMixedSignatureWith2Signers(SignExample.java:84)
at crypto.CAdES.SignExample.signExample(SignExample.java:177)
at crypto.CAdES.SignExample.main(SignExample.java:213)
Offline Евгений Афанасьев  
#8 Оставлено : 24 мая 2019 г. 11:09:46(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 2,734
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 385 раз в 380 постах
Вероятно, в локальное хранилище доверенных сертификатов <папка_приложения>/security/cacerts формата BKS (пароль changeit) или в "Настройки"-"Безопасность"-"Сертификаты" не установлен(ы) корневой(ые) сертификат(ы) для построения цепочки.
Техническую поддержку оказываем тут
Наша база знаний
Offline Лис545  
#9 Оставлено : 28 мая 2019 г. 13:19:48(UTC)
Лис545

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2018(UTC)
Сообщений: 7
Российская Федерация

Как это можно проверить? Подписание по типу примера из тестового приложения работает. Описанные ситуации происходят при использовании JCSP. При попытке использовать JCP получаем следующее:
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3741)
at java.util.Arrays.asList(Arrays.java:3728)
at crypto.CAdES.configuration.Configuration.loadConfiguration(Configuration.java:374)
at crypto.CAdES.configuration.Configuration.loadConfiguration(Configuration.java:334)
at crypto.CAdES.configuration.SimpleConfiguration.<init>(SimpleConfiguration.java:44)
at crypto.CAdES.configuration.SimpleConfiguration.<init>(SimpleConfiguration.java:32)
at crypto.CAdES.SignExample.signExample(SignExample.java:175)
at crypto.CAdES.SignExample.main(SignExample.java:214)
Offline Евгений Афанасьев  
#10 Оставлено : 28 мая 2019 г. 13:30:46(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 2,734
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 385 раз в 380 постах
Автор: Лис545 Перейти к цитате

java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3741)
at java.util.Arrays.asList(Arrays.java:3728)

В список, видимо, подается null.

Техническую поддержку оказываем тут
Наша база знаний
Offline Лис545  
#11 Оставлено : 28 мая 2019 г. 15:04:57(UTC)
Лис545

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.02.2018(UTC)
Сообщений: 7
Российская Федерация

Действительно, loadConfiguration вызывался с null'ами вместо пути и пароля к хранилищу. Тем не менее, при передаче туда пути и пароля ситуация не изменилась: если в addSigner передавать OIDы из конфигурации (config.getDigestOid(), getPublicKeyOid()), получаем то же "unable to find valid certification path to requested target", при передаче вместо них null - "unable to find valid certification path to requested target".

При использовании JCP получем следующее:
java.io.IOException: Неверный формат хранилища.
at ru.CryptoPro.JCP.KeyStore.TrustStore.engineLoad(Unknown Source:127)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source:28)
at java.security.KeyStore.load(KeyStore.java:1545)
at crypto.CAdES.configuration.Configuration.loadConfiguration(Configuration.java:376)
at crypto.CAdES.configuration.Configuration.loadConfiguration(Configuration.java:348)
at crypto.CAdES.configuration.SimpleConfiguration.<init>(SimpleConfiguration.java:44)
at crypto.CAdES.configuration.SimpleConfiguration.<init>(SimpleConfiguration.java:32)
at crypto.CAdES.SignExample.signExample(SignExample.java:175)
at crypto.CAdES.SignExample.main(SignExample.java:214)

Отредактировано пользователем 28 мая 2019 г. 15:08:10(UTC)  | Причина: Не указана

Offline MERCY  
#12 Оставлено : 13 июня 2019 г. 19:31:30(UTC)
MERCY

Статус: Участник

Группы: Участники
Зарегистрирован: 06.02.2019(UTC)
Сообщений: 26
Российская Федерация
Откуда: Москва

Эклипс/Джава/JCP/КонфигТУл запускаются/устанавливаются от админа/рута (Или как там это чудо в Андро зовётся)?

Отредактировано пользователем 13 июня 2019 г. 19:45:21(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.