問題タブ [jsse]

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.

0 投票する
3 に答える
6769 参照

java - FIPS 準拠のために IBM JCE/JSSE プロバイダーを使用するように Oracle JDK を構成する

IBM の FIPS 準拠の JCE/JSSE セキュリティ プロバイダを使用するように Oracle JDK を設定したいと考えています。どの JAR ファイルが必要で、どこにインストールする必要がありますか? java.securityファイル内のプロバイダー リストはどのようになりますか?

0 投票する
3 に答える
57644 参照

java - Java に cacerts ファイルと jssecacerts ファイルの両方があるのはなぜですか?

cacertsとファイルの違いについて真剣に混乱していjssecacertsます。

jssecacertsデフォルトでは、Java はファイルを検索してからファイルを検索することを知っていcacertsます。

jssecacertsしかし、ファイルのポイントは何ですか?

私の理解では、新しいトラストストアを使用する必要がある場合は、のコピーをcacerts作成し、すべての新しい信頼できる CA をそのコピーに追加する必要があります。cacerts(新しい CA を含む)のコピーは、-Djavax.net.ssl.trustStoreシステム プロパティによって参照される必要があります。そうすれば、そのマシンで実行される他の Java アプリケーションが誤ってデフォルト以外の CA を信頼することがなくなります。

0 投票する
1 に答える
852 参照

android - Android/Harmony Jsse への暗号スイートの追加

したがって、Harmony JSSE には、サーバーに接続するために必要な暗号スイートがありません。TLS_ECDHE_ECDSA_WITH_AES_256_SHA はサポートされていません。そのスイートのサポートを追加することは可能ですか (そうであれば、その方法は?) 私は調和 JSSE のソースを持っています。その暗号スイートのコードを追加することはできますか? 追加する簡単な方法はありますか?

ありがとう!

0 投票する
2 に答える
880 参照

android - Androidでjsseクラスを参照する方法は?

私はAndroidSDKプラグインでEclipseHeliosを使用しており、Android2.2用に作成しています

Webサービスに送信される通信を暗号化するアプリを作成しようとしていますが、エラーが発生します

で失敗します

コンソールにエラーがあります。

java.lang.ClassNotFoundException:com.sun.net.ssl.internal.ssl.JSA_RSAPublicKey

これはjsse.jarファイルのクラスです。ビルドパスにjsse.jarファイルを含めようとすると、警告エラーが発生し、コンパイラから文句が表示されます。

"" javax / net / ServerSocketFactory.class "の処理で問題が発生しました:"

このライブラリをどのように参照するか、またはコアandroidのライブラリを正しく参照するのですか?

参考までに、これはJavaアプリとしては問題なく機能しますが、Androidモジュールでは機能しません。

0 投票する
4 に答える
2421 参照

java - JavaでSSLクライアントのHellov2メッセージを難読化する

私は現在、ファイアウォールを介して接続する必要があるクライアント/サーバーTLSツールに取り組んでいます。制御できない理由により、発信TCP接続のみが許可されます。

問題は、クライアントのファイアウォールがクライアントのHello v2メッセージ(および場合によってはSSLハンドシェイク全体)をブロックすることです。

何らかの方法でストリームを難読化する方法はありますか? 圧縮を使用してストリームをファイアウォールで読み取れないようにすることを考えていました。(多分、syncFlushフラッシングを可能にするJDK7のGzipOutputStreamを使用しています)

私はSSLの専門家ではありませんが、ストリーム全体を変換できるはずです。これにより、ファイアウォールが接続を取得してブロックすることができなくなります。

私が見る限り、これを行うにはいくつかの(2つ?)方法があります:

  • デフォルトの実装をオーバーライドする
  • SSLServerSocketFactoryを実装する

デフォルトの実装であるcom.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImplのソースコードが見つからないため、最初のオプションはうまくいきませんでした。私はそれについてopenJDKソースコードを閲覧しましたが、それでもソースが欠落しているようです。

SSLServerSocketFactoryの実装は私の能力を超えています。私が言ったように、私はSSLの専門家ではありません。

アプリケーションは、他の攻撃性の低いファイアウォール/ファイアウォールルールを介して正常に動作することに注意してください。

0 投票する
2 に答える
938 参照

java - どのような SSL 実装を選択すればよいですか?

私は現在 SSL の水域をテストしており、SSL のことは初めてです。調査の一環として、Java 空間で SSL の 2 つの異なる実装に出くわしました。

まず、私の要件を述べさせてください。これは非常に単純です。必要なのは、https を使用して URL にデータを送信するプロセスだけです。

2 つのソリューションのうち、最初のソリューションは純粋な Java 実装 (コア Java クラスのみを使用) であり、もう 1 つのソリューションは Apache HTTPClient を使用して http.

最初に、テストの一環として、悪名高い「要求されたターゲットへの有効な証明書パスが見つかりません」という例外が発生しました。これは、(サーバーから受信した) 証明書が Java キーストアの一部ではない場合に発生すると考えました。証明書を Java キー ストアに追加すると、アプリケーションはどちらの場合も正常に動作します。しかし、HTTPClient を使用していると、SSLSocketFactory が使用されていることに気付きました。

次のコードで HttpClient をテストしたところ、

それは正常に機能したので、SSLSocketFactory 実装の使用方法がわかりませんか? キー ストアへの証明書の追加を自動化したい場合に、これは便利だと当初は考えていました。私はその分析で正しいですか?

私の分析が正しい場合、どの実装が優れていますか?

  • 証明書を手動でインストールする方が良いですか? このアプローチの短所は何ですか?証明書の有効期限は切れますか?その場合、新しい証明書を再度インストールする必要がありますか?
  • または、SSLSocketFactory を使用して、キー ストアの追加機能全体を自動化する必要がありますか?

ご意見をお待ちしております。ありがとうございました。

0 投票する
1 に答える
119 参照

java - 複数のソケット - そのうちの 1 つが SSLException を引き起こしている - jsse.jar でトレース openSocket をデバッグする方法

特定のシナリオで複数のソケットを開いているエンタープライズ アプリケーションに問題があります。jsse.jar の SSLSocketFactory の openSocket メソッドからトレースバックしたいのですが、基礎となる SSL 内部クラスには利用可能なソースコードがありません。

(私は、決定的な答えを与えない jsse.jar へのソースを求める別の質問があることを知っています - 私はそれを求めていません。)

私の質問は、ソース コードにアクセスできない場合、どのようにデバッグ トレースを行うのですか? (確かにJADベースのアプローチではありません)。

0 投票する
1 に答える
21811 参照

java - RSA Privatekey.pemファイルからjava.security.PrivateKeyオブジェクトを取得するにはどうすればよいですか?

RSA秘密鍵ファイル(OCkey.pem)があります。javaを使用して、このファイルから秘密鍵を取得する必要があります。このキーは、以下のopensslコマンドを使用して生成されます。注:以下のopensslコマンドでは何も変更できません。

証明書は以下のようになります。

////////////////////////////////////////////////// /////////
bash-3.00 $ less OCkey.pem
----- BEGIN RSA PRIVATE KEY -----
Proc-Type:4、
ENCRYPTED DEK-Info:DES-EDE3-CBC、EA1DBF8D142621BF

BYyZuqyqq9 + L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk + PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg ==
----- END RSA PRIVATE KEY -----
///////////////////// /////////////////////////////////////////

以下は私が試したことです

しかし、

"java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:無効なキー形式"

助けてください。

0 投票する
1 に答える
171 参照

java - Javaを介してどの秘密鍵でサーバー証明書が作成されていることを確認する方法

お客様は、以下の openssl コマンドを使用してキーと証明書を作成しました

そのため、彼らは私に証明書 (OCcert.pem) と秘密鍵 (OCkey.pem) を提供してくれました。

Java を使用して OCkey.pem を介して OCcert.pem が確実に作成されるようにするにはどうすればよいですか?
注:お客様にsslコマンドの変更をお願いすることはできません。

助けてください。

0 投票する
2 に答える
4881 参照

jce - SunPKCS11Provider をダウンロードする場所

この記事に従って smardCard にアクセスしようとしていますが、SunPKCS11Provider で jar を見つける場所がわかりません。Oracleのドキュメントでは、1.5以降は標準であると言われています。これは、コンパイラが SunPKCS11 を見つけることができないと不平を言っている私のブロックです。