26

GoogleがAndroidキーストアの作成を提案する方法は次のとおりです。

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

10000日は永遠のように思えるかもしれませんが、27年はあなたが思っているよりも早く経過する可能性があり、RSAはまだ使用されている可能性があります。
コマンドライン引数を微調整することで、将来的に市場シェアを節約できる可能性が0.01%ある場合は、それを実行したいと思います。

質問:この有効期間をできるだけ長くするにはどうすればよいですか?

4

3 に答える 3

22

「1000年」の例:

「1000年」のJKSキーストアも問題なく作成しました。

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

したがって、キーはMon Dec 05 14:28:01GMT3014まで有効です。

于 2015-08-04T14:50:57.657 に答える
21

私が正しく計算すれば、2,920億年有効なキーを作成できるはずです。

keytoolのソースhttp://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/tools/KeyTool.javaを調べたところ、次のようになっています。有効期間は、longとして秒単位で保存されます。longが保持できる最大値263-1は9223372036854776000で、これは106751991167300日に相当し、292、271,023、045年に相当します。このような大きな値を許可しない他の要因があるかもしれませんが、これはツールが生成できる最大量のようです。

于 2013-01-11T06:44:15.740 に答える
3

試行錯誤を繰り返すと、9999年頃に実際的な最大値が見られます。今日の時点で、次のように2つのキーが作成されています。

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

正常に実行され、「有効期限:Tue Aug 29 11:12:45 CDT 2017 until:Thu Jan 01 10:12:45CST9998」

keytool -list -v -keystore year-10002.keystore

「keytoolエラー:java.security.cert.CertificateParsingException:java.io.IOException:Parse Generalized time、invalidformat」でクラッシュします

したがって、実際の最大有効期限は10000年の直前だと思います。

于 2017-08-29T16:41:35.813 に答える