10

Javaで使用されるJKSキーストア形式の公式仕様があるかどうか疑問に思いましたか?PKCS#12との間でコンバーターを作成したいのですが、Javaでは作成したくないので、残念ながらkeytoolまたはJavaコードはオプションではありません。

16進エディタで1つを見ると、おそらくASN.1ではないことがわかります。OpenJDKを掘り下げてフォーマットをリバースエンジニアリングしようとする前に、仕様が存在するかどうか誰かが知っていますか?今のところ何も見つかりませんでした。助けていただければ幸いです。

4

1 に答える 1

13

JDKソースから調査を開始する必要があると思います。そこには非常に役立つコメントがいくつかあります。例えば

/*
         * KEYSTORE FORMAT:
         *
         * Magic number (big-endian integer),
         * Version of this file format (big-endian integer),
         *
         * Count (big-endian integer),
         * followed by "count" instances of either:
         *
         *     {
         *      tag=1 (big-endian integer),
         *      alias (UTF string)
         *      timestamp
         *      encrypted private-key info according to PKCS #8
         *          (integer length followed by encoding)
         *      cert chain (integer count, then certs; for each cert,
         *          integer length followed by encoding)
         *     }
         *
         * or:
         *
         *     {
         *      tag=2 (big-endian integer)
         *      alias (UTF string)
         *      timestamp
         *      cert (integer length followed by encoding)
         *     }
         *
         * ended by a keyed SHA1 hash (bytes only) of
         *     { password + whitener + preceding body }
         */
于 2012-06-01T06:19:34.207 に答える