問題タブ [android-keystore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - "Wrong version of key store" error. How can I create a version=1 keystore certificate?
I am having trouble using SSL, as I am getting the following error related to my keystore (self-created and self-signed using keytool per: http://developer.android.com/tools/publishing/app-signing.html):
08-14 20:55:23.044: W/System.err(5430): java.io.IOException: Wrong version of key store. 08-14 20:55:23.060: W/System.err(5430): at org.bouncycastle.jce.provider.JDKKeyStore.engineLoad(JDKKeyStore.java:812) ...
The error thrown in the JDKKeyStore.java
class arises in the following code:
Blockquote From JDKKeyStore.java:
if (version != STORE_VERSION) { if (version != 0) { throw new IOException("Wrong version of key store."); } }Blockquote
In this case STORE_VERSION = 1, and my version=3 based on reading the details of the certificate held by the keystore I have created. I do not know how to generate a keystore containing a version=1 certificate.
I found this answer helpful: wrong version keystore when doing https call
however it calls for creating the keystore using the following parameters:
-storetype BKS
-provider org.bouncycastle.jce.provider.BouncyCastleProvider
-providerpath /path/to/bouncycastle.jar
However, when I try to create the keytool (using the terminal app on Mac) using these parameters:
keytool -genkeypair -v -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000 -keypass android -keystore /Users/djames/dropbox/bc146keystore/debug.keystore -storepass android -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider –providerpath /Users/djames/dropbox/bc146keystore/
(where /Users/djames/dropbox/bc146keystore/ is the path to the bouncy castle jar: bcprov-jdk16-146.jar)
I get the following error:
keytool error: java.lang.RuntimeException: Usage error, ?providerpath is not a legal command java.lang.RuntimeException: Usage error, ?providerpath is not a legal command at sun.security.tools.KeyTool.parseArgs(KeyTool.java:375) at sun.security.tools.KeyTool.run(KeyTool.java:171) at sun.security.tools.KeyTool.main(KeyTool.java:166)
I do not understand what this is telling me. If I use: keytool -help it tells me that the following are valid options for the -genkeypair option:
-genkeypair [-v] [-protected] [-alias ] [-keyalg ] [-keysize ] [-sigalg ] [-dname ] [-validity ] [-keypass ] [-keystore ] [-storepass ] [-storetype ] [-providername ] [-providerclass [-providerarg ]] ... [-providerpath ]
But in the Oracle docs java version 6 that I am using
(http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html)
it tells me that these are the options:
-genkeypair {-alias alias} {-keyalg keyalg} {-keysize keysize} {-sigalg sigalg} [-dname dname] [-keypass keypass] {-validity valDays} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-providerClass provider_class_name {-providerArg provider_arg}} {-v} {-protected} {-Jjavaoption}
which does not include the -providerpath option
. Why the discordance?
(If I do not use the -providerpath option, then I get an unknown class exception at the option: "-providerclass org.bouncycastle.jce.provider.BouncyCastleProvider"
...)
When I google: keytool -providerpath
I get nothing helpful to resolve this.
I am not sure how to solve my keystore version problem without solving my keytool problem. Any suggestions appreciated.
Jim
java - Android デバッグ キーストア
Facebookに使用できるように、.android debug.keystoreにアクセスしようとしています。
Windows cmd に入力すると、次のようになります。C:\Users\<user>\.android\debug.keystore
C:\Users\<user>
内部または外部コマンド、操作可能なプログラム、またはバッチ ファイルとして認識されません。
誰か教えてくれませんか?
android - wssのAndroidキーストアの場所
httpsを介してwss(wss4j)を使用してセキュリティで保護されたWebサービスと通信するAndroidアプリケーションがあります。以前のデスクトップJavaアプリケーションでは、すべて正常に機能し、物理的な.jksファイルを使用してすべてを初期化しました。
これはすべてデスクトップでは正常に機能しますが、Androidデバイスでは明らかに場所が間違っています(もちろん、「c:/temp/conf/ihar.jks」は存在しません)。だから私の質問は、ファイルの場所をどのように指定できますか?それはただの価値があると思うので、「file:/// android_asset / res / ihar.jks」のようなものは実現可能でしょうか?
よろしくお願いします、イアン・ハリガン
android - 市場でapkをアップロードするときは、apkに以前のバージョンと同じ証明書で署名する必要があります
私はアプリケーションを作成し、Androidマーケットで公開しました。今、私はその2番目のバージョンを公開したいと思います。私が明らかにしたいいくつかのこと:
- 同じパッケージ名を使用しています。
- 以前のキーストアがないため、ウィンドウを変更したため、キーストアが削除され、そのキーストアのバックアップがありません。
今私がすべきことは、以前のapkからキーストアを取得する方法があります。
Stackoverflowには、可能だと言っている人もいれば、不可能だと言っている人もいます。
正確な解決策が必要です。
android - Android デバイスの SD カードからインストールされたアクセス証明書
Android で Java を使用して PKI で保護されたサービスにアクセスしようとしています。証明書は、 [設定] -> [場所とセキュリティ] -> [ SD カードからインストール]を介してデバイスにインストールされました。
ICS のように、証明書は/system/etc/security/cacertsで共有されますが、GingerBread ではキーストアにあるようです: /system/etc/security/cacerts.bks。
ICS では、KeyChainがインストールされているすべての証明書を読み取ることができることがわかったので、私の質問は次のとおりです。
OS < level 14で SD カードからインストールされた証明書にアクセスする方法はありますか?
また
OS >= レベル 8の SD カードからインストールされた証明書にアクセスするための統一された方法がある場合は?
ありがとう。
android - キーストアhttpsandroidの作成と使用
アプリケーションへのhttps接続を実装する必要があります。最初に、すべての証明書を信頼するクラスを実行しましたが、非効率的であると読みました。それから私はkystoreを使ってsererからの鍵を保存することにしました。私はコマンドpromtpでそのようにそれを作成しようとします:
しかし、私がこのように使いたいとき:
、res / raw derictoryからキーストアにアクセスできませんが、res /rawderictoryに入れました。また、Rファイルが削除されました... Portecleインターフェイスで実装しようとしましたが、同じ問題に直面しました-res / rawデリケートからキーストアに到達できず、プロジェクトRファイルをビルド/クリーンアップしようとしたときに削除されました。キーストアファイルを削除すると、Rファイルが復元されました。キーストアを適切な方法で作成し、接続に使用するにはどうすればよいですか。
android - Android debug.keystore のパスワードを覚えていません
debug.keystore のパスワードを確認するにはどうすればよいですか? 3 ~ 4 か月前にパスワードを入力しましたが、今は覚えていません。
不可能な場合、新しい debug.keystore を作成するにはどうすればよいですか?
android - Android APK の署名中に Eclipse でキー エイリアスが見つからない
すでにキーストアを作成し、apk に署名して、Play ストアにも公開しています。
これで、同じキーストアとパスワードを使用していくつかのバグ修正を行い、Android アプリケーションのエクスポート ウィザードで [次へ] をクリックしました。
エイリアス名のドロップボックスが表示されますが、エイリアス名はありません。しかし、昨日同じプロジェクトに署名するために同じことがうまくいきましたが、今は空に見えます。
コマンドラインでも試してみましたが、「キーストアが改ざんされているか、パスワードが正しくありません」と表示されますが、パスワードIDとキーストアが正しいと確信しています。
これは私にとってショーストッパーです。助けてください!
android - アプリに署名した後、Googleマップが機能しない
私は自分のAndroidアプリをビルドして署名します。現在、グーグルプレイで公開していますが、グーグルプレイにインストールすると、グーグルマップが機能しません。この問題に関する記事を読みましたが、修正していません。
署名後に何ができますか?
android - 既存のコードでAndroidアプリを作成するにはどうすればよいですか?
Androidアプリを開発し、GooglePlayで公開しました。その後、キーストアファイルを失い、アプリを更新できなくなりました。そのため、既存のコードで新しいアプリを作成したいと思います。
既存のコードを使用して新しいアプリケーションを作成し、明確に移植するにはどうすればよいですか?