問題タブ [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.
tomcat - 自己署名証明書のキーストアから秘密鍵をエクスポートする方法
tomcat 6 を実行している Linux ボックスで自己署名証明書を作成しました。
10 年間有効なキーを次のように作成しました。
キーストアをTomcatのフォルダーにコピーし、server.xmlを更新してキーストアを指すようにしました。
現在、ネットワーク管理者は公開鍵と秘密鍵の両方を求めています (ロードバランサー用)
以下を使用して公開鍵を生成できます。
しかし、どうすれば秘密鍵をエクスポート/取得できますか?
android - キーストアとエイリアス - 複数のエイリアスを使用することはありますか?
Eclipse を使用して署名済みの Android アプリケーションをエクスポートする場合、複数のエイリアスを使用する目的はありますか?
署名に関する公式ガイドによると、すべてのアプリケーションに同じ証明書で署名して、アプリケーションがデータ、コードを共有し、モジュール方式で更新できるようにすることをお勧めします。
「エイリアス」、「キー」、および「証明書」がこのコンテキストで本質的に交換可能であると仮定すると、すべてのアプリケーションに異なるエイリアスを使用したい理由はありますか? 考えられる唯一の理由は、セキュリティが強化されたということです。つまり、キーやパスワードが侵害されても、すべてが侵害されるわけではありません。他の理由はありますか?
また、生成されたキーはエイリアスの名前に依存していますか? つまり、エイリアスの名前を変更してパスワードを変更しない場合、生成される証明書は異なるものになりますか?
java - Java キー ストアは、OpenSSL によって生成されたキー ペアをインポートできますか?
openssl で認証キーを生成します。これが私のコマンドです:
openssl genrsa -des3 -out enc_key.pem 1024
cer ファイルにエクスポートしてから、Java keytool を使用して Java キーストア (jks) にインポートします。
キーストアはいいですね。Java アプリからキーストアをロードできます。
問題は、クライアントがサーバーに接続するときです (この場合、Web サーバーではなく FTP サーバーであり、私は apache mina を使用します)、例外が発生しました:
javax.net.ssl.SSLHandshakeException: SSL ハンドシェイクに失敗しました。org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:433) で org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) で org.apache.mina.core .filterchain.DefaultIoFilterChain.access$5(DefaultIoFilterChain.java:429)
...
原因: javax.net.ssl.SSLHandshakeException: no cipher suites in common at com.sun.net.ssl.internal.ssl.Handshaker.checkThrown (Unknown Source) at com.sun.net.ssl.internal.ssl.SSLEngineImpl com.sun.net.ssl.internal.ssl の .checkTaskThrown (不明なソース) com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap (不明なソース) の javax.net .ssl.SSLEngine.wrap (不明なソース)
...
原因: javax.net.ssl.SSLHandshakeException: no cipher suites in common at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLEngineImpl .fatal(不明なソース)
いくつかお聞きしたいことがあります。
- openssl で生成する証明書の暗号とは何ですか? どうすれば知ることができますか?おそらくコマンドラインopenssl xxxで?
- http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/JSSERefGuide.html#AppAにアクセスします。そして、SSL_RSA_xxxを有効な暗号スイートに配置しましたが、まだ機能しません(SSLがssl Implisitとgenrsaを使用しているため、SSL_RSAを配置しました。私の意見はgenrsaがRSAを生成するためです)。それが正しいか?
- 誰かが解決策を知っていますか?
- または、Javaアプリで使用できるようになるまで、opensslコマンドラインから標準キーストアを生成する方法を誰もが知っています(もちろん暗号を使用します)。現在、openssl から証明書を生成し、キーストア Java をエクスポートできますが、使用した暗号と Java アプリでの使用方法がわからないためです。注: キーストアが Java から直接生成されている場合は実行できます。現在問題は、java keytool によって生成されたキーストアが、openssl などの認証 (およびその他の可能性) から生成された場合です。
どんな助けでも大歓迎です!ありがとう
ssl - SSL/キーストアを使用して Java で Websphere MQ に接続する
Java 経由で Websphere 6.0 MQ に接続したいと考えています。「通常の」キューのコードは既に動作していますが、SSL で暗号化された新しいキュー (キーストア) にアクセスする必要があります。something.jks というファイルが送られてきました。これは、どこかに保存する必要がある証明書だと思います。ネットで調べてみましたが、正しい情報が見つかりません。
これは、「通常の」キューに使用するコードです。いくつかのプロパティを設定する必要があると思いますが、どのプロパティかわかりません。
java - KeyStore、HttpClient、およびHTTPS:誰かがこのコードを私に説明できますか?
私はこのコードで何が起こっているのかを理解しようとしています。
私の質問:
trustStore.load(instream, "nopassword".toCharArray());
正確に何をしていますか?ドキュメントを読むと、load()
任意の「nopassword」を使用して、入力ストリーム(作成したばかりの空のファイル)からKeyStoreデータが読み込まれます。null
InputStreamパラメータとしてロードし、パスワードフィールドとして空の文字列をロードしてみませんか?
そして、この空のKeyStoreがSSLSocketFactoryコンストラクターに渡されるとどうなりますか?そのような操作の結果は何ですか?
または-これは、実際のアプリケーションで既存のキーストアファイル/パスワードへの参照を実際に配置する必要がある単なる例ですか?
java - キーストアのパスワード変更
私は現在、私だけが知っている特定のパスワードを持つキーストアを持っています。そのキーストアへのアクセス権を他の人に付与する必要があるため、次のいずれかを行います。
1) パスワードを変更して、他のユーザーと共有して
署名できるようにします。2) 別のパスワードを作成し、他のユーザーがそのパスワードで署名できるようにします。
これは可能ですか?そして - はいの場合 - どのように?
java - 1 つの別名の Java KeyStore をロードしますか?
指定されたエイリアスのパスワードのみを要求するように KeyStore をロードできるかどうかを知っている人はいますか?
例:
私の鍵ストアには、Alice の暗号化証明書と Bob の暗号化証明書の 2 つの秘密鍵があります。
キーストアをロードすると:
Alice と Bob の両方の鍵ストアのパスワードを求めるプロンプトが出されます。入力したら、getKey("Alice's Encryption Certificate", null);
Alice の秘密鍵を取得するために使用できます。私のキーは Entrust のセキュリティ プロバイダによって保護されています。キー ストアをロードする際にパスワードの入力を求められるのは Entrust のセキュリティ プロバイダです。ボブのパスワードを入力せずにキーを取得しようとすると、null が返されますが、パスワード プロンプトは表示されないようにしたいと思います。
キーストアをロードする前に Alice のキーのみが必要であるように指定して、Bob のパスワードの入力を求められないようにすることはできますか?
ありがとう。
java - Java KeyStoreパスワードを保存するにはどうすればよいですか?
私のWebアプリケーションでは、JavaKeyStoreに格納されている秘密鍵にアクセスします。KeyStoreと秘密鍵のパスワードを保存するための最良の/推奨される方法を知りたいのですが。
プロパティファイルの使用を検討しましたが、実稼働環境での使用にはあまり安全ではないようです(パスワードをプレーンテキストファイルに保存する)。また、私のコードにパスワードをハードコーディングすることは、私が喜んで受け入れるオプションではありません。
ありがとう。
java - キーストアの生成に問題がある (Java)
初めての Android アプリケーションを公開しようとしているため、キーストアでアプリケーションに署名する必要があります。
最初はすべてうまくいきます。コマンドプロンプトに次のように入力します。
続くいくつかの質問に答えますが、最後の質問の後に次のエラーが表示されます
keytool エラー: java.io.FileNotFoundException: testKeystore.keystore [アクセスが拒否されました]
ばかげた間違いをしているのかもしれませんが、キーストアの作成方法についてインターネット上のいくつかのガイドに従っていますが、それだけだと思いましたか?
.net - .netクライアント側Webアプリ?
これまでに.netの処理を行ったことがなく、ブラウザを介して.Net Webアプリケーションのクライアント側を実行できるかどうか疑問に思っていますか?それとも、サーバーで処理してからHTMLページを吐き出すことによってのみ機能しますか?System.Security.Cryptography.X509Certificates名前空間を利用して、ユーザーのWindows-MYキーストアにアクセスし、X509証明書とそれに関連する秘密鍵を引き出します。これは、明らかな理由でサーバー側ではなく、クライアント側で実行する必要があります。