Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2015(UTC) Сообщений: 9
Сказал(а) «Спасибо»: 6 раз
|
Есть ли примеры подписи XML файла форматом XMLDsig с использованием контейнера ключей? Отредактировано пользователем 17 сентября 2015 г. 23:41:21(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Примеры находятся в samples-sources.jar, в пакетах JCPxml, xmlSign, wss4j. |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2015(UTC) Сообщений: 9
Сказал(а) «Спасибо»: 6 раз
|
Автор: afev ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Примеры находятся в samples-sources.jar, в пакетах JCPxml, xmlSign, wss4j. JCP 2.0 JCPXml/dsig/internal/xmldsigri/test/SignFileExample есть оглашения private static final String JCSP_DEFAULT_STORE_TYPE = /*Platform.isWindows() ? "REGISTRY" : */"HDIMAGE"; private static final String PATH = "/PatientRecord/Account"; private static final String ID = "acct"; private static final String ID_NAME = "id"; в каталоге подкаталог с контейнером ключей (6 файлов )/HDIMAGE/XXXXX.000 чем являются значения PATH, ID, ID_NAME ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Автор: vladimir.y ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) private static final String JCSP_DEFAULT_STORE_TYPE = /*Platform.isWindows() ? "REGISTRY" : */"HDIMAGE";
На случай использования JCSP вместо JCP. Автор: vladimir.y ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) private static final String PATH = "/PatientRecord/Account"; private static final String ID = "acct"; private static final String ID_NAME = "id";
чем являются значения PATH, ID, ID_NAME ?
PATH - поиск элемента в документе путем передачи очереди имен узлов. ID - идентификатор подписываемого элемента - acct - в документе, подпись узла по идентификатору id (ID_NAME) в примере: Код:
<?xml version="1.0"?>
<PatientRecord>
<Name>John Doe</Name>
<Account id="acct">123456</Account>
<Visit date="10pm March 10, 2002">
<Diagnosis>Broken second metacarpal</Diagnosis>
</Visit>
</PatientRecord>
|
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2015(UTC) Сообщений: 9
Сказал(а) «Спасибо»: 6 раз
|
Автор: afev ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Примеры находятся в samples-sources.jar, в пакетах JCPxml, xmlSign, wss4j. Пытаюсь понять как работать с контейнером ключей (6 файлов), как их инициализировать и как получить доступ в скриптах JCP 2.0 примеры /xmlSign/XMLSignDoc.java нет упоминания о работе с контейнером ключей или тут мы получаем доступ к этой связке? какая сущность являеться keyProvider? // создание генератора ключевой пары ЭЦП final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(keyPairAlgorithm, keyProvider);
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Автор: vladimir.y ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Пытаюсь понять как работать с контейнером ключей (6 файлов), как их инициализировать и как получить доступ в скриптах
JCP 2.0 примеры /xmlSign/XMLSignDoc.java
нет упоминания о работе с контейнером ключей
или тут мы получаем доступ к этой связке? какая сущность являеться keyProvider?
// создание генератора ключевой пары ЭЦП final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(keyPairAlgorithm, keyProvider);
Все (работа с контейнерами) описано в документации - в руководстве разработчика. Почему нет упоминания? Код:
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
XmlContainer container = XmlContainer.createContainer(keyType);
// Получаем ключ подписи.
PrivateKey privateKey = (PrivateKey) keyStore.getKey(container.getAlias(), container.getPassword());
// Сертификат для помещения в X509Data (KeyInfo).
X509Certificate cert = (X509Certificate) keyStore.getCertificate(container.getAlias());
В данном случае в классе XmlContainer прописаны какие-то тестовые контейнеры, которых у пользователя наверняка нет. Их, допустим, можно заменить на свои, переписав код, или сгенерить с такими же именами и паролями, как в примерах. Отредактировано пользователем 18 сентября 2015 г. 14:52:03(UTC)
| Причина: Не указана |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2015(UTC) Сообщений: 9
Сказал(а) «Спасибо»: 6 раз
|
Автор: afev ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Автор: vladimir.y ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Пытаюсь понять как работать с контейнером ключей (6 файлов), как их инициализировать и как получить доступ в скриптах
JCP 2.0 примеры /xmlSign/XMLSignDoc.java
нет упоминания о работе с контейнером ключей
или тут мы получаем доступ к этой связке? какая сущность являеться keyProvider?
// создание генератора ключевой пары ЭЦП final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(keyPairAlgorithm, keyProvider);
Все (работа с контейнерами) описано в документации - в руководстве разработчика. Почему нет упоминания? Код:
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
XmlContainer container = XmlContainer.createContainer(keyType);
// Получаем ключ подписи.
PrivateKey privateKey = (PrivateKey) keyStore.getKey(container.getAlias(), container.getPassword());
// Сертификат для помещения в X509Data (KeyInfo).
X509Certificate cert = (X509Certificate) keyStore.getCertificate(container.getAlias());
В данном случае в классе XmlContainer прописаны какие-то тестовые контейнеры, которых у пользователя наверняка нет. Их, допустим, можно заменить на свои, переписав код, или сгенерить с такими же именами и паролями, как в примерах. непонимание по причине большого количества информации для простой задачи, и возможно разбежностью в терминах. контейнер ключей (6 файлов ) который выдает УЦ - это в коде хранилище? на входе у нас есть этот контейнер и XML файл но как в коде загрузить этот контейнер ключей и подписать XML документ не разобрались.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Автор: vladimir.y ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) контейнер ключей (6 файлов ) который выдает УЦ - это в коде хранилище? на входе у нас есть этот контейнер и XML файл но как в коде загрузить этот контейнер ключей и подписать XML документ не разобрались.
Ключевой контейнер в вашем случае - папка с несколькими файлами (формат HDImageStore). Чтобы JCP его видел, контейнер (папка) должен лежать в специальной папке - C:\Users\<user>\Application Data\Crypto Pro\ (/var/opt/cprocsp/keys/<user>/). Грузится с помощью KeyStore класса. |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2015(UTC) Сообщений: 9
Сказал(а) «Спасибо»: 6 раз
|
Автор: afev ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Автор: vladimir.y ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) контейнер ключей (6 файлов ) который выдает УЦ - это в коде хранилище? на входе у нас есть этот контейнер и XML файл но как в коде загрузить этот контейнер ключей и подписать XML документ не разобрались.
Ключевой контейнер в вашем случае - папка с несколькими файлами (формат HDImageStore). Чтобы JCP его видел, контейнер (папка) должен лежать в специальной папке - C:\Users\<user>\Application Data\Crypto Pro\ (/var/opt/cprocsp/keys/<user>/). Грузится с помощью KeyStore класса. а как задается JCP.HD_STORE_NAME? Это какое имя?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Это тип хранилища - HDImageStore. Доступ к своему контейнеру далее получите с помощью алиаса и пароля (в getKey и getCertificate). Рекомендую ознакомиться с руководством программиста. Отредактировано пользователем 18 сентября 2015 г. 15:49:21(UTC)
| Причина: Не указана |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close