問題タブ [truststore]
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.
security - トラストストアとキーストアはSSLでどのように使用されますか?
Javaを使用してSSL接続を作成する場合、最初にKeyStoresとTrustStoresを使用してSSLContextを初期化します。javax.net.sslのSSLContextには、 SSLEngineを作成するためのcreateSSLEngine()というメソッドがあります。したがって、接続用のセッションを作成するときは、作成されたSSLEngineが使用されます。私の質問は、SSLプロトコルのどの時点でKeyStoresとTrustStoresのkeyManagersとTrustManagersが使用されるかということです。
前もって感謝します。
java - Apache CXF を使用してクラスパスからトラストストアをロードするにはどうすればよいですか?
HTTPS 経由で SOAP サービスを呼び出すために Apache CXF (v2.7.3) を使用しています。ファイルからはトラストストアをロードできますが、クラスパスからはロードできません。「無効なキーストア形式」というエラーが表示されます。
cfx.xml ファイルに次の構成があります。
ファイルからトラスト ストアをロードできますが、クラスパスからはロードできません。truststore.jks ファイルが見つかっていることは例外からわかりますが、無効です。これは、スローされた例外のスタック トレースです。
java - Java証明書トラストストア用のLinuxブラウザ(またはLinuxコマンドライン)でのSSL証明書のエクスポート
バックグラウンド:
ColdFusion 9でWebサービスを使用するのに問題があります(ピアが認証されていません)。
まず、ColdFusionの基盤となるJavaキーストアに証明書をインポートしてみます。それでも問題が解決しない場合は、ColdFusionのセキュリティプロバイダーをいじってみます。
しかし、私の質問はもっと具体的です...
質問:
Chrome(またはLinux CLI)で(適切なレベルで)証明書をエクスポートするにはどうすればよいですか?また、どの形式でエクスポートしますか?
詳細
ブラウザから証明書をエクスポートするためのいくつかの手順を見てきましたが、それらはIE(古いバージョン)用であり、Linuxを使用しているのでChromeを使用したいと思います。
以下のスクリーンショットを取得するために、私は:
- URLの横にある鍵のアイコンをクリックします
- [接続]タブ(「このWebサイトのIDはThawte SSL CAによって確認されました」と表示されます)
- 「証明書情報リンク」をクリックします
- [詳細]タブ
そこから、次の4つのレベルのいずれかでエクスポートできます。
- ビルトインオブジェクトトークン:ThawtePremium Server CA
- プライマリルートCAを解凍します
- Thawte SSL CA
- sb1.geolearning.com
どちらが適切ですか?
また、Adobeのドキュメントには、「証明書は識別符号化規則(DER)形式のX.509証明書である必要があります」と記載されており、Chromeのエクスポートダイアログには次のオプションがあります。
- Base64でエンコードされたASCII、単一の証明書
- Base64でエンコードされたASCII、証明書チェーン
- DERでエンコードされたバイナリ、単一の証明書
- PKCS#7、単一の証明書
- PKCS#7、証明書チェーン
- すべてのファイル
「DERエンコードされたバイナリ、単一の証明書」が適切だと思いますか?
java - 期限切れの証明書の信頼
期限切れの証明書を使用して https サーバーと通信しているときに、クライアントが次のエラーで失敗します。更新によってサーバー側で修正されるのを待っている最中ですが、期限切れの証明書を独自の信頼ストアに追加することで、このエラーを回避できるかどうか疑問に思っています。これにより、証明書が更新されるのを待っている間にテスト時間を得ることができます。
ssl - カスタム キーストア .jks ファイルとパスワードを使用した SSL 接続と URL へのリクエストの送信
カスタム キーストア .jks ファイルとパスワードを使用して URL にリクエストを送信する必要があります。次のコードは次のとおりです。あまりきれいではありません。クリーンアップする必要があります :-) ava.lang.NoSuchFieldError の例外が表示されます。ここで何が欠けているのかわかりません:-/
.........//その他のコード }
public static KeyManager[] getKeyManagers(String keyStoreType, InputStream keyStoreFile, String keyStorePassword) throws Exception { KeyStore keyStore = KeyStore.getInstance(keyStoreType); keyStore.load(keyStoreFile, keyStorePassword.toCharArray()); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); kmf.init(keyStore, keyStorePassword.toCharArray()); kmf.getKeyManagers(); を返します。}
次の例外が表示されます
java.lang.NoSuchFieldError: org.apache.http.impl.client.DefaultHttpClient.setDefaultHttpParams(DefaultHttpClient.java:175) の org/apache/http/protocol/HTTP.DEF_CONTENT_CHARSET org.apache.http.impl.client.DefaultHttpClient のorg.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.java:448) の .createHttpParams(DefaultHttpClient.java:158) org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:309) の) org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466) で
ClientConnectionManager マネージャーで = httpclient.getConnectionManager();
ここで何が欠けているのか教えてもらえますか?
java - tomcat (1 つの JVM) で webapp ごとに異なるキーストアを使用する
多くの webapps を持つ tomcat インスタンスがあります。それらの一部は、 SSL経由で外部 Web サービスを呼び出すために独自の独立したキーストアを必要とします。これまでのところ、提供されたキーストアを使用する唯一の方法は次のとおりです。
しかし、この方法の問題は、システム プロパティのスコープが Java プロセスごとであり (Tomcat はすべての Web アプリケーションで同じ JVM を共有する)、これが他のすべての Web アプリケーションに影響することです。右?
Tomcat インスタンス内のすべての Web アプリケーションごとに特定のキーストアを使用し、特定の Web サービス呼び出しに限定しておくにはどうすればよいですか?
Axis(1) WS クライアントを使用していることが問題になる場合があります。
java - https Web サービスに接続しようとすると、「致命的なアラートを受信しました: handshake_failure」
Spring 3 (v 3.1.1.RELEASE) アプリケーション (Java 1.6 上) を構築して、作成した自己署名証明書を使用する HTTPS Web サービスと通信したいと考えています。トラストストアとキーストーンの設定方法について混乱しています。自己署名証明書を使用して、以下のコマンドを使用してキーストーンを生成しました ...
次に、Spring アプリケーションを次のように構成しました …</p>
しかし、アプリケーションを実行すると、以下のエラーが発生します。私は何を逃したのですか?
java - Android HttpClient ブラウザが信頼するすべての証明書を信頼する
トラストストア/ブラウザ/Java/「システム」がアプリで信頼する証明書にアクセスする方法はありますか?
つまり、https: //test.domain.com で Web サイトをホストしていて、ユーザーがサーバーが提示する証明書 (独自の CA / 自己署名) を信頼することを選択した場合、このサーバーにアクセスするアプリに、ユーザーは、ブラウザでこの証明書を信頼することを選択したため、この証明書も信頼します。
種類のソリューションしか見つからないようです:リソース/ファイルシステムからトラストストアをロードするか、すべての証明書を信頼します。
私が最も欲しいのは、「Android.System.getTruststore()」(アイデアを示すために簡略化されています) のようなもの、またはアプリでアクセスできる信頼できる証明書をシステムが保持するパスです。
私は専門家とはほど遠いので、これらすべての証明書が保存されている単一の場所があるのか 、それともサードパーティのアプリからアクセスできるのかさえわかりません^^.
質問が何らかの形で明確になることを願っています。ヒントに感謝します!