Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline vladimir.y  
#1 Оставлено : 17 сентября 2015 г. 23:37:50(UTC)
vladimir.y

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

Группы: Участники
Зарегистрирован: 10.09.2015(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 6 раз
Есть ли примеры подписи XML файла форматом XMLDsig с использованием контейнера ключей?

Отредактировано пользователем 17 сентября 2015 г. 23:41:21(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 18 сентября 2015 г. 9:25:46(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Примеры находятся в samples-sources.jar, в пакетах JCPxml, xmlSign, wss4j.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
vladimir.y оставлено 21.09.2015(UTC)
Offline vladimir.y  
#3 Оставлено : 18 сентября 2015 г. 13:06:30(UTC)
vladimir.y

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

Группы: Участники
Зарегистрирован: 10.09.2015(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 6 раз
Автор: afev Перейти к цитате
Примеры находятся в 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 ?


Offline Евгений Афанасьев  
#4 Оставлено : 18 сентября 2015 г. 14:14:26(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: vladimir.y Перейти к цитате

private static final String JCSP_DEFAULT_STORE_TYPE = /*Platform.isWindows() ? "REGISTRY" : */"HDIMAGE";

На случай использования JCSP вместо JCP.

Автор: vladimir.y Перейти к цитате

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 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
vladimir.y оставлено 18.09.2015(UTC)
Offline vladimir.y  
#5 Оставлено : 18 сентября 2015 г. 14:23:34(UTC)
vladimir.y

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

Группы: Участники
Зарегистрирован: 10.09.2015(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 6 раз
Автор: afev Перейти к цитате
Примеры находятся в samples-sources.jar, в пакетах JCPxml, xmlSign, wss4j.


Пытаюсь понять как работать с контейнером ключей (6 файлов), как их инициализировать и как получить доступ в скриптах

JCP 2.0
примеры
/xmlSign/XMLSignDoc.java

нет упоминания о работе с контейнером ключей

или тут мы получаем доступ к этой связке?
какая сущность являеться keyProvider?

// создание генератора ключевой пары ЭЦП
final KeyPairGenerator keyGen =
KeyPairGenerator.getInstance(keyPairAlgorithm, keyProvider);
Offline Евгений Афанасьев  
#6 Оставлено : 18 сентября 2015 г. 14:51:14(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: vladimir.y Перейти к цитате

Пытаюсь понять как работать с контейнером ключей (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 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
vladimir.y оставлено 18.09.2015(UTC)
Offline vladimir.y  
#7 Оставлено : 18 сентября 2015 г. 15:13:12(UTC)
vladimir.y

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

Группы: Участники
Зарегистрирован: 10.09.2015(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 6 раз
Автор: afev Перейти к цитате
Автор: vladimir.y Перейти к цитате

Пытаюсь понять как работать с контейнером ключей (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 документ не разобрались.
Offline Евгений Афанасьев  
#8 Оставлено : 18 сентября 2015 г. 15:17:26(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: vladimir.y Перейти к цитате

контейнер ключей (6 файлов ) который выдает УЦ - это в коде хранилище?
на входе у нас есть этот контейнер и XML файл
но как в коде загрузить этот контейнер ключей и подписать XML документ не разобрались.

Ключевой контейнер в вашем случае - папка с несколькими файлами (формат HDImageStore). Чтобы JCP его видел, контейнер (папка) должен лежать в специальной папке - C:\Users\<user>\Application Data\Crypto Pro\ (/var/opt/cprocsp/keys/<user>/). Грузится с помощью KeyStore класса.

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
vladimir.y оставлено 18.09.2015(UTC)
Offline vladimir.y  
#9 Оставлено : 18 сентября 2015 г. 15:42:42(UTC)
vladimir.y

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

Группы: Участники
Зарегистрирован: 10.09.2015(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 6 раз
Автор: afev Перейти к цитате
Автор: vladimir.y Перейти к цитате

контейнер ключей (6 файлов ) который выдает УЦ - это в коде хранилище?
на входе у нас есть этот контейнер и XML файл
но как в коде загрузить этот контейнер ключей и подписать XML документ не разобрались.

Ключевой контейнер в вашем случае - папка с несколькими файлами (формат HDImageStore). Чтобы JCP его видел, контейнер (папка) должен лежать в специальной папке - C:\Users\<user>\Application Data\Crypto Pro\ (/var/opt/cprocsp/keys/<user>/). Грузится с помощью KeyStore класса.



а как задается JCP.HD_STORE_NAME? Это какое имя?
Offline Евгений Афанасьев  
#10 Оставлено : 18 сентября 2015 г. 15:48:41(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Это тип хранилища - HDImageStore. Доступ к своему контейнеру далее получите с помощью алиаса и пароля (в getKey и getCertificate). Рекомендую ознакомиться с руководством программиста.

Отредактировано пользователем 18 сентября 2015 г. 15:49:21(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
vladimir.y оставлено 18.09.2015(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.