Статус: Участник
Группы: Участники
Зарегистрирован: 11.06.2014(UTC) Сообщений: 16  Откуда: Омцк Сказал(а) «Спасибо»: 3 раз Поблагодарили: 1 раз в 1 постах
|
Создаю запрос к тестовому TSP серверу, в ответ код 2, failInfo = #03020780 В чем ошибка? Где посмотреть расшифровку кодов? В метод передаю дайджест значения подписи. Код: Код: public org.bouncycastle.tsp.TimeStampResponse timestampData(byte[] digest) throws IOException {
String TSA_URL = conf.getTspServerAddress(); // "http://www.cryptopro.ru/tsp/tsp.srf"
try {
TimeStampRequestGenerator reqgen = new TimeStampRequestGenerator();
TimeStampRequest req = reqgen.generate(TSPAlgorithms.GOST3411, digest);
byte request[] = req.getEncoded();
URL url = new URL(TSA_URL);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestMethod("POST");
con.setRequestProperty("Content-type", "application/timestamp-query");
con.setRequestProperty("Content-length", String.valueOf(request.length));
OutputStream out = con.getOutputStream();
try {
out.write(request);
out.flush();
} finally {
out.close();
}
if (con.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new IOException("Received HTTP error: " + con.getResponseCode() + " - " + con.getResponseMessage());
}
InputStream in = con.getInputStream();
TimeStampResp resp = TimeStampResp.getInstance(new ASN1InputStream(in).readObject());
TimeStampResponse response = new TimeStampResponse(resp);
response.validate(req);
System.out.println(response.getTimeStampToken().getTimeStampInfo().getGenTime());
return response;
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.06.2014(UTC) Сообщений: 16  Откуда: Омцк Сказал(а) «Спасибо»: 3 раз Поблагодарили: 1 раз в 1 постах
|
И еще: Где можно найти пример встраивания timestamp на java (Crypto Pro JCP - 1.0.54) ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,033  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 730 раз в 688 постах
|
Примеров создания запросов и обработки штампов в samples (JCP) нет, но код может быть примерно таким: Код:
TimeStampRequestGenerator reqgen = new TimeStampRequestGenerator();
BigInteger nonce = BigInteger.valueOf(System.currentTimeMillis());
// imprint - хеш данных, hashAlg - OID алгоритма хеширования
TimeStampRequest req = reqgen.generate(hashAlg, imprint, nonce);
byte request[] = req.getEncoded();
где imprint: Код:
MessageDigest messageDigest = MessageDigest.getInstance(hashAlg);
messageDigest.update(signature, 0, signature.length);
byte[] imprint = messageDigest.digest();
Кроме того, в ASN1P есть все необходимые классы для работы со штампами. Отредактировано пользователем 21 ноября 2014 г. 11:47:50(UTC)
| Причина: Не указана |
|
 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
olch оставлено 21.11.2014(UTC)
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close