Статус: Участник
Группы: Участники
Зарегистрирован: 08.07.2020(UTC) Сообщений: 26  Откуда: Пермь
|
Добрый день. Осилил пример подписания. Теперь если использовать провайдер JCP то ошибок нет (лог прикреплён), а вот при использовании JCSP есть ошибки при выполнении (лог так же прикреплён). На сколько понял что использовать JCSP при наличии лицензии на CSP можно бесплатно - поэтому задача использовать этот провайдер (поправьте если ошибаюсь). Подскажите пожалуйста что надо сделать чтобы заработало подписание с использованием JCSP?  JCSP s oshibkojj.txt (126kb) загружен 5 раз(а). JCP bez oshibki.txt (633kb) загружен 3 раз(а).
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.07.2020(UTC) Сообщений: 26  Откуда: Пермь
|
Взял пример с другой темы по созданию CADES BES подписи Строка для подписания: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8V2l0aGRyYXdBcHBsaWNhdGlvblJlcXVlc3QgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+DQogIDxBcHBsaWNhdGlvbklkPjEwODA0Mjk5MjwvQXBwbGljYXRpb25JZD4NCiAgPE9yZ2FuaXphdGlvbklkPjYwNjgyNTwvT3JnYW5pemF0aW9uSWQ+DQogIDxCdXNpbmVzc09wZXJhdG9ySWQ+NDwvQnVzaW5lc3NPcGVyYXRvcklkPg0KPC9XaXRoZHJhd0FwcGxpY2F0aW9uUmVxdWVzdD4= Пример возвращает подпись такую: MIAGCSqGSIb3DQEHAqCAMIACAQExDjAMBggqhQMHAQECAgUAMIAGCSqGSIb3DQEHAQAAMYIE9TCCBPECAQEwggH/MIIB6DEbMBkGCSqGSIb3DQEJARYMY2FAc2VydHVtLnJ1MRgwFgYFKoUDZAESDTExMTY2NzMwMDg1MzkxGjAYBggqhQMDgQMBARIMMDA2NjczMjQwMzI4MQswCQYDVQQGEwJSVTEzMDEGA1UECAwqNjYg0KHQstC10YDQtNC70L7QstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMSEwHwYDVQQHDBjQldC60LDRgtC10YDQuNC90LHRg9GA0LMxUjBQBgNVBAkMSdGD0LvQuNGG0LAg0KPQu9GM0Y/QvdC+0LLRgdC60LDRjywg0LQuIDEzLCDQu9C40YLQtdGAINCQLCDQvtGE0LjRgSAyMDkg0JExbDBqBgNVBAoMY9Ce0LHRidC10YHRgtCy0L4g0YEg0L7Qs9GA0LDQvdC40YfQtdC90L3QvtC5INC+0YLQstC10YLRgdGC0LLQtdC90L3QvtGB0YLRjNGOICLQodC10YDRgtGD0Lwt0J/RgNC+IjFsMGoGA1UEAwxj0J7QsdGJ0LXRgdGC0LLQviDRgSDQvtCz0YDQsNC90LjRh9C10L3QvdC+0Lkg0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+0YHRgtGM0Y4gItCh0LXRgNGC0YPQvC3Qn9GA0L4iAhEBnx+KAOarwIJF5Vr4B2h/4TAMBggqhQMHAQECAgUAoIICizAvBgkqhkiG9w0BCQQxIgQg//96sHqecM/DG2//A2UjENUFNNZzdZRx8MBAN74GSzcwggJWBgsqhkiG9w0BCRACLzGCAkUwggJBMIICPTCCAjkwCgYIKoUDBwEBAgIEIItQ8zzkk7Sb7kDu84JFNcxzBDGlV9BZ4jPmtH1aCJeVMIICBzCCAfCkggHsMIIB6DEbMBkGCSqGSIb3DQEJARYMY2FAc2VydHVtLnJ1MRgwFgYFKoUDZAESDTExMTY2NzMwMDg1MzkxGjAYBggqhQMDgQMBARIMMDA2NjczMjQwMzI4MQswCQYDVQQGEwJSVTEzMDEGA1UECAwqNjYg0KHQstC10YDQtNC70L7QstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMSEwHwYDVQQHDBjQldC60LDRgtC10YDQuNC90LHRg9GA0LMxUjBQBgNVBAkMSdGD0LvQuNGG0LAg0KPQu9GM0Y/QvdC+0LLRgdC60LDRjywg0LQuIDEzLCDQu9C40YLQtdGAINCQLCDQvtGE0LjRgSAyMDkg0JExbDBqBgNVBAoMY9Ce0LHRidC10YHRgtCy0L4g0YEg0L7Qs9GA0LDQvdC40YfQtdC90L3QvtC5INC+0YLQstC10YLRgdGC0LLQtdC90L3QvtGB0YLRjNGOICLQodC10YDRgtGD0Lwt0J/RgNC+IjFsMGoGA1UEAwxj0J7QsdGJ0LXRgdGC0LLQviDRgSDQvtCz0YDQsNC90LjRh9C10L3QvdC+0Lkg0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+0YHRgtGM0Y4gItCh0LXRgNGC0YPQvC3Qn9GA0L4iAhEBnx+KAOarwIJF5Vr4B2h/4TAKBggqhQMHAQEGAQRAlCzZASw3Dw8AUdzfQQTlcAIikR6zvT50kJVNCAKu8TA9PikMY0S0Ffptqi5sBwcu0a4FVAM8eO4qOtnH2G0rCQAAAAAAAA== Плагин для chrome возвращает подписанную строку такую: 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 Пример приложения: Код:
public class SignerData {
final static private String cer_story = "HDImageStore";
final static private String cer_alias = "pfx-48b009ef-52ba-1818-780c-26931a3c5cfe";
final static private String cer_pass_str = "12345678";
final static private char[] cer_pass = cer_pass_str.toCharArray();
static public String signed(String data) throws IOException, KeyStoreException, NoSuchAlgorithmException, CertificateException, UnrecoverableKeyException, CAdESException, InvalidKeyException, SignatureException {
final byte src[] = data.getBytes();
KeyStore keyStore = KeyStore.getInstance( cer_story );
keyStore.load( null, null );
PrivateKey privateKey = (PrivateKey) keyStore.getKey( cer_alias, cer_pass );
X509Certificate cert = (X509Certificate) keyStore.getCertificate( cer_alias );
//List<Certificate> chain = Arrays.asList( keyStore.getCertificateChain( cer_alias ) );
List<X509Certificate> chain = Arrays.asList( cert );
CAdESSignature cadesSignature = new CAdESSignature( true);
// Создаем подписанта CAdES-BES.
//cadesSignature.addSigner("HDImageStore", privateKey, chain, CAdESType.CAdES_BES, null, false);
// String var1, String var2, String var3, PrivateKey var4, List var5, Integer var6, String var7, boolean var8)
cadesSignature.addSigner( "JCP", "1.2.643.7.1.1.2.2", "1.2.643.7.1.1.6.1", privateKey, chain, CAdESType.CAdES_BES, null, true);
// Будущая подпись в виде массива.
ByteArrayOutputStream signatureStream = new ByteArrayOutputStream();
// Подготовка контекста.
cadesSignature.open( signatureStream );
// Хеширование.
cadesSignature.update( src );
// Создание подписи с выводом в signatureStream.
cadesSignature.close();
signatureStream.close();
// Получаем подпись в виде массива.
byte[] cadesCms = signatureStream.toByteArray();
return Base64.getEncoder().encodeToString(cadesCms);
}
}
Вызов: SignerData.signed( "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8V2l0aGRyYXdBcHBsaWNhdGlvblJlcXVlc3QgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+DQogIDxBcHBsaWNhdGlvbklkPjEwODA0Mjk5MjwvQXBwbGljYXRpb25JZD4NCiAgPE9yZ2FuaXphdGlvbklkPjYwNjgyNTwvT3JnYW5pemF0aW9uSWQ+DQogIDxCdXNpbmVzc09wZXJhdG9ySWQ+NDwvQnVzaW5lc3NPcGVyYXRvcklkPg0KPC9XaXRoZHJhd0FwcGxpY2F0aW9uUmVxdWVzdD4=" ); Результат подписи разный. Подскажите что необходимо сделать?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,507   Сказал «Спасибо»: 554 раз Поблагодарили: 2251 раз в 1756 постах
|
Здравствуйте. 1. Вызов: Цитата:SignerData.signed( "PD94... Будет подписаны байты из base64-строки (хеш данных = FFFF7AB07A9E70CFC31B6FFF03652310D50534D673759471F0C04037BE064B37), а не исходный XML (хеш данных = CD272CB22CC99C966A4DAE22F7A6EA78826D609F918FC9A3E5B660C1726053D0). 2. Плагин добавляет в CMS еще сертификат подписанта, а подпись из вышеуказанного примера - не содержит сертификат (не все приложения смогут проверять без включенного сертификата в CMS, только те, кто умеет искать в других источниках (файл\хранилище))  check sign.png (87kb) загружен 19 раз(а). |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.07.2020(UTC) Сообщений: 26  Откуда: Пермь
|
Автор: Андрей *  Здравствуйте. 1. Вызов: Цитата:SignerData.signed( "PD94... Будет подписаны байты из base64-строки (хеш данных = FFFF7AB07A9E70CFC31B6FFF03652310D50534D673759471F0C04037BE064B37), а не исходный XML (хеш данных = CD272CB22CC99C966A4DAE22F7A6EA78826D609F918FC9A3E5B660C1726053D0). 2. Плагин добавляет в CMS еще сертификат подписанта, а подпись из вышеуказанного примера - не содержит сертификат (не все приложения смогут проверять без включенного сертификата в CMS, только те, кто умеет искать в других источниках (файл\хранилище))  check sign.png (87kb) загружен 19 раз(а). Подскажите где взять приложение для проверки подписи? По 1му пункту понял - надо подписывать не base64 строку а исходную (просто увидел в плагине метод cryptoProvider.signBase64 принимает base64 поэтому и сделал в таком же формате) По 2му пункту - как сделать такую же подпись что и в плагине? Отредактировано пользователем 9 августа 2020 г. 19:50:06(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. Как добавить сертификаты в подпись с помощью CAdES.jar есть в javadoc/CAdES-javadoc.jar в описании класса CAdESSignature, один из методов addSigner принимает последним параметром addCertificateChain и добавляют построенную цепочку в подпись: https://www.cryptopro.ru...&m=117788#post117788Есть также setCertificateStore для добавления любых сертификатов в подпись. Чтобы задействовать JCSP, надо сделать его провайдером по умолчанию (на вкладке "Алгоритмы" панели управления) задать его в addSigner или с помощью CAdESConfig.setDefaultProvider() и другими способами (-Dru.CryptoPro.defaultProv=JCSP), об этом есть в рук-ве программиста (JCSP) и в примерах samples-sources.jar/CAdES. Ключи из хранилища KeyStore тоже должны быть открыты с помощью JCSP (HDIMAGE и т.п.). Отредактировано пользователем 11 августа 2020 г. 13:41:23(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.07.2020(UTC) Сообщений: 26  Откуда: Пермь
|
Автор: Андрей *  Здравствуйте. 1. Вызов: Цитата:SignerData.signed( "PD94... Будет подписаны байты из base64-строки (хеш данных = FFFF7AB07A9E70CFC31B6FFF03652310D50534D673759471F0C04037BE064B37), а не исходный XML (хеш данных = CD272CB22CC99C966A4DAE22F7A6EA78826D609F918FC9A3E5B660C1726053D0). 2. Плагин добавляет в CMS еще сертификат подписанта, а подпись из вышеуказанного примера - не содержит сертификат (не все приложения смогут проверять без включенного сертификата в CMS, только те, кто умеет искать в других источниках (файл\хранилище))  check sign.png (87kb) загружен 19 раз(а). Подскажите пожалуйста как вы подготовили примеры файлов для проверки в приложении на валидность подписей из base64 строк которые я скинул?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,507   Сказал «Спасибо»: 554 раз Поблагодарили: 2251 раз в 1756 постах
|
Автор: Dreamir  Автор: Андрей *  Здравствуйте. 1. Вызов: Цитата:SignerData.signed( "PD94... Будет подписаны байты из base64-строки (хеш данных = FFFF7AB07A9E70CFC31B6FFF03652310D50534D673759471F0C04037BE064B37), а не исходный XML (хеш данных = CD272CB22CC99C966A4DAE22F7A6EA78826D609F918FC9A3E5B660C1726053D0). 2. Плагин добавляет в CMS еще сертификат подписанта, а подпись из вышеуказанного примера - не содержит сертификат (не все приложения смогут проверять без включенного сертификата в CMS, только те, кто умеет искать в других источниках (файл\хранилище))  check sign.png (87kb) загружен 19 раз(а). Подскажите пожалуйста как вы подготовили примеры файлов для проверки в приложении на валидность подписей из base64 строк которые я скинул? сохранил base64 в файлы, проверил через утилиту |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.07.2020(UTC) Сообщений: 26  Откуда: Пермь
|
Добрый день. Создаю подпись при помощи JCP так же как и плагин. Но сервер не принимает её, к сожалению почему я не смогу узнать. Подскажите в чём разница между подписями (pl.txt - подпись созданная плагином, app.txt - java приложением)  pl.txt (11kb) загружен 2 раз(а). app.txt (11kb) загружен 2 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,507   Сказал «Спасибо»: 554 раз Поблагодарили: 2251 раз в 1756 постах
|
Здравствуйте. В app.txt - не CMS.  Snimok ehkrana ot 2020-08-26 16-34-23.png (85kb) загружен 8 раз(а). |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close