2017-12-03 18 views
1

私は、キーストアを作成するには、Javaのkeytoolからこのコマンドを使用します:Javaのkeytoolの最大パス長

keytool -genkey -alias clientprivate -keystore client.private -storetype PKCS12 -keyalg rsa -storepass password -keypass password 

は、次にJavaプログラムのための結果のキーストアを使用します。

clientKeyStore.load(loader.clientpublic(), "password".toCharArray());を呼び出すときにしかし、私は、私は109文字の非常に長いパスワードを使用するので、それはだと信じているjava.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

エラーを取得します。だから私の質問は、最大許容パスワードの長さは何ですか?

+0

私は109文字のパスワードに問題はありません。問題は他の何かによって引き起こされます。どのように 'clientKeyStore'を取得していますか? – Oleg

+0

パスワードの長さとは関係ありません。これは、キーストアが破損しているか、そうでなければ有効でないためです。 –

+0

'clientKeyStore.getType()'は何を返しますか? –

答えて

0

私は愚かな間違いを犯しました。 リソース・ローダーを持つリソース・パッケージにすべての証明書を含め、メソッドclientpublic()clientprivate()serverpublic()およびserverprivate()を持っていました。

私はまだリソースを使いこなしていましたが、それを動作させることができましたが、私はそれぞれの証明書にメソッドを設定するのを忘れていました。彼らはすべてプライベートクライアント証明書を指していました。それを変更して問題を解決しました。