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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vlad_sa  
#1 Оставлено : 19 октября 2011 г. 18:36:56(UTC)
vlad_sa

Статус: Активный участник

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

Из jcp.1.0.52\samples\Samples\
взял пример Applet_samples
в нем имеется код
Код:

	/**
	 * Подпись
	 * 
	 * @return подпись
	 */
	protected static List<Object> sign() {
		final List<Object> ret = new Vector<Object>(2);
		String err = null;
		byte[] signature = null;
		if (text != null)
			try {
				final Signature sign = Signature
						.getInstance("GOST3411withGOST3410EL");
				sign.initSign((PrivateKey) key);
				sign.update(text.getBytes());
				signature = sign.sign();
			} catch (NoSuchAlgorithmException e) {
				err = e.toString();
			} catch (SignatureException e) {
				err = e.toString();
			} catch (InvalidKeyException e) {
				err = e.toString();
			}
		ret.add(0, err);
		ret.add(1, signature);
		return ret;
	}

Возникли ряд вопросов...
1. Как найти названия других инстансов, кроме "GOST3411withGOST3410EL"? Почему вконце аббревиатура EL ? Что интересно она означает?
2. Главный вопрос... signature = sign.sign(); представляет собой массив 64 байт... для любого сообщения text... Получается, что это не ЭЦП, а подписанный Hash... Нет?
Хотя видим, что имеется int sign.hashCode()...
Т.е. на мой взгляд byte[] sign.sign() - это подписанный hash, то где само ЭЦП?
Или sign.sign() - это все таки ЭЦП ?
Разъясните пожалуйста...
Online Андрей Писарев  
#2 Оставлено : 19 октября 2011 г. 18:45:03(UTC)
Андрей *

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

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

Сказал «Спасибо»: 550 раз
Поблагодарили: 2218 раз в 1732 постах
ЭЦП
;)

ЭЦП - тебе нужно прям в формате pkcs7, с вложенными сертификатами и подписанными атрибутами?

подписывается хеш с использованием закрытого ключа, а получатели - расшифровав его открытым ключем автора, сверяют что есть у них (хеш на данные..)

Отредактировано пользователем 19 октября 2011 г. 18:47:19(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline vlad_sa  
#3 Оставлено : 19 октября 2011 г. 19:33:55(UTC)
vlad_sa

Статус: Активный участник

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

Андрей * написал:
ЭЦП - тебе нужно прям в формате pkcs7, с вложенными сертификатами и подписанными атрибутами?
подписывается хеш с использованием закрытого ключа, а получатели - расшифровав его открытым ключем автора, сверяют что есть у них (хеш на данные..)

В текущий момент от меня требуют, что бы я составил XML, в котором имелись теги... (весь xml много надо отображать, поэтому вырезка)...
Код:

<ds:DigestValue>Значение хеша в Base64</ds:DigestValue>
....
<ds:SignatureValue>Значение подписи в Base64</ds:SignatureValue>
.....
<ds:X509Certificate>Cертификат X.509 в Base64</ds:X509Certificate>

Т.е. первую строчку я получу из
Код:

sign.sign();

Третью из
Код:

X509Certificate c = (X509Certificate) store.getCertificate(alias);
...c.getEncoded();

с последующим преобразованием в массив байт...
А как со второй?
Online Андрей Писарев  
#4 Оставлено : 19 октября 2011 г. 19:51:20(UTC)
Андрей *

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

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

Сказал «Спасибо»: 550 раз
Поблагодарили: 2218 раз в 1732 постах
...

Отредактировано пользователем 19 октября 2011 г. 19:52:57(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#5 Оставлено : 19 октября 2011 г. 20:40:45(UTC)
Андрей *

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

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

Сказал «Спасибо»: 550 раз
Поблагодарили: 2218 раз в 1732 постах
SignatureValue > Значение подписи = Sign() нет?
Техническую поддержку оказываем тут
Наша база знаний
Offline vlad_sa  
#6 Оставлено : 20 октября 2011 г. 11:24:16(UTC)
vlad_sa

Статус: Активный участник

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

Андрей * написал:
SignatureValue > Значение подписи = Sign() нет?
... Нет...
Блин, все просмотрел... не нашел... Или плохо ищу...
Offline vlad_sa  
#7 Оставлено : 20 октября 2011 г. 11:49:05(UTC)
vlad_sa

Статус: Активный участник

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

В том же примере "Applet_samples"
До выбора контейнера происходит опрос имен типов хранилищ, по методу
Код:

	/**
	 * Получение имен типов хранилищ JCP.
	 * 
	 * @return список имен
	 */
	protected static String[] getStores() {
		final List strs = KeyStoreConfig.getNames();
		final String[] stores = new String[strs.size()];
		for (int i = 0; i < strs.size(); i++) {
			stores[i] = (String) strs.get(i);
		}
		return stores;
	}
Где получаем список (в моем случае): HDImageStore, FloppyStore...
У меня контейнеры ключей как в реестре, так и на дискете...
При выборе FloppyStore происходит выбор контейнеров ключей.
Но при выборе HDImageStore - ничего не происходит... И вписать ничего не могу....
Что такое HDImageStore ?
Как выбрать ключи из Реестра?
В КриптоПро CSP просматриваю контейнер закрытого ключа из Реестра...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.