Java keytool и неограниченная достоверность [дубликат]

Исходные типы прекрасны, когда они выражают то, что вы хотите выразить.

Например, функция десериализации может возвращать List, но она не знает тип элемента списка. Таким образом, List является подходящим типом возврата.

10
задан BartoszKP 24 January 2014 в 03:07
поделиться

3 ответа

3,3 миллиона лет, если я правильно сделал математику.

Я посмотрел источник для keytool, http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/ tools / KeyTool.java , и похоже, что срок действия хранится в секундах как длинный. Наибольшее значение длинное может удерживать 263 - 1 составляет 106751991167300 секунд, что равно 1235555453 дням, что составляет 3,385,083 года. Могут быть и другие факторы, которые запрещают такое большое значение, но это, по-видимому, максимальная сумма, которую может генерировать инструмент.

12
ответ дан Nicolas Raoul 22 August 2018 в 02:35
поделиться
  • 1
    Python говорит мне, что 2 ** 63 - 1 - 9223372036854775807 (секунды), что равно 106751991167300 дням. – James K Polk 12 January 2013 в 04:07
  • 2
    jarsigner («официальный» инструмент командной строки) разбивается на хранилище ключей, которое я только что создал с действительностью 10 000 000 дней. Итак, теоретически, практический ответ, вероятно, меньше. – Nicolas Raoul 7 September 2015 в 07:32

Выполняя пробную ошибку, я вижу практический максимум в течение года 9999. На сегодняшний день с двумя созданными таким образом ключами:

keytool -genkey -v -keystore year-9998.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 2914760 keytool -genkey -v -keystore year-10002.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 2916223

Хотя оба ключа, похоже, успешно создаются, проверяя эти клавиши с помощью команд:

keytool -list -v -keystore year-9998.keystore - работает нормально, давая «Действителен с: Вт 29 августа 11:12:45 CDT 2017 до: чт 01 января 10 : 12: 45 CST 9998 "

keytool -list -v -keystore year-10002.keystore - Сбой с" ошибкой keytool: java.security.cert.CertificateParsingException: java.io.IOException: Parse Обобщенное время, недопустимый формат "

Итак, я думаю, что практический максимальный срок действия истекает до 10000 года.

0
ответ дан Brian Lukis 22 August 2018 в 02:35
поделиться

Пример «1000 лет»:

Я также создал хранилище ключей KKS «1000 лет» без проблем:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 365000

Затем проверили для истечения срока действия:

keytool -list -v -keystore my-release-key.keystore

Enter keystore password:  

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry
...
Valid from: Tue Aug 04 15:28:01 BST 2015 until: Mon Dec 05 14:28:01 GMT 3014

Таким образом, ключ действует до пн дек. 05 14:28:01 GMT 3014

8
ответ дан Danail 22 August 2018 в 02:35
поделиться
  • 1
    Кажется, что работает 1 000 000 дней. Но 10 000 000 дней не работают. – Nicolas Raoul 7 September 2015 в 07:59
Другие вопросы по тегам:

Похожие вопросы: