問題タブ [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.
java - FIPS 準拠のために IBM JCE/JSSE プロバイダーを使用するように Oracle JDK を構成する
IBM の FIPS 準拠の JCE/JSSE セキュリティ プロバイダを使用するように Oracle JDK を設定したいと考えています。どの JAR ファイルが必要で、どこにインストールする必要がありますか? java.security
ファイル内のプロバイダー リストはどのようになりますか?
java - Java に cacerts ファイルと jssecacerts ファイルの両方があるのはなぜですか?
cacerts
とファイルの違いについて真剣に混乱していjssecacerts
ます。
jssecacerts
デフォルトでは、Java はファイルを検索してからファイルを検索することを知っていcacerts
ます。
jssecacerts
しかし、ファイルのポイントは何ですか?
私の理解では、新しいトラストストアを使用する必要がある場合は、のコピーをcacerts
作成し、すべての新しい信頼できる CA をそのコピーに追加する必要があります。cacerts
(新しい CA を含む)のコピーは、-Djavax.net.ssl.trustStore
システム プロパティによって参照される必要があります。そうすれば、そのマシンで実行される他の Java アプリケーションが誤ってデフォルト以外の CA を信頼することがなくなります。
android - Android/Harmony Jsse への暗号スイートの追加
したがって、Harmony JSSE には、サーバーに接続するために必要な暗号スイートがありません。TLS_ECDHE_ECDSA_WITH_AES_256_SHA はサポートされていません。そのスイートのサポートを追加することは可能ですか (そうであれば、その方法は?) 私は調和 JSSE のソースを持っています。その暗号スイートのコードを追加することはできますか? 追加する簡単な方法はありますか?
ありがとう!
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モジュールでは機能しません。
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の専門家ではありません。
アプリケーションは、他の攻撃性の低いファイアウォール/ファイアウォールルールを介して正常に動作することに注意してください。
java - どのような SSL 実装を選択すればよいですか?
私は現在 SSL の水域をテストしており、SSL のことは初めてです。調査の一環として、Java 空間で SSL の 2 つの異なる実装に出くわしました。
まず、私の要件を述べさせてください。これは非常に単純です。必要なのは、https を使用して URL にデータを送信するプロセスだけです。
2 つのソリューションのうち、最初のソリューションは純粋な Java 実装 (コア Java クラスのみを使用) であり、もう 1 つのソリューションは Apache HTTPClient を使用して http.
最初に、テストの一環として、悪名高い「要求されたターゲットへの有効な証明書パスが見つかりません」という例外が発生しました。これは、(サーバーから受信した) 証明書が Java キーストアの一部ではない場合に発生すると考えました。証明書を Java キー ストアに追加すると、アプリケーションはどちらの場合も正常に動作します。しかし、HTTPClient を使用していると、SSLSocketFactory が使用されていることに気付きました。
次のコードで HttpClient をテストしたところ、
それは正常に機能したので、SSLSocketFactory 実装の使用方法がわかりませんか? キー ストアへの証明書の追加を自動化したい場合に、これは便利だと当初は考えていました。私はその分析で正しいですか?
私の分析が正しい場合、どの実装が優れていますか?
- 証明書を手動でインストールする方が良いですか? このアプローチの短所は何ですか?証明書の有効期限は切れますか?その場合、新しい証明書を再度インストールする必要がありますか?
- または、SSLSocketFactory を使用して、キー ストアの追加機能全体を自動化する必要がありますか?
ご意見をお待ちしております。ありがとうございました。
java - 複数のソケット - そのうちの 1 つが SSLException を引き起こしている - jsse.jar でトレース openSocket をデバッグする方法
特定のシナリオで複数のソケットを開いているエンタープライズ アプリケーションに問題があります。jsse.jar の SSLSocketFactory の openSocket メソッドからトレースバックしたいのですが、基礎となる SSL 内部クラスには利用可能なソースコードがありません。
(私は、決定的な答えを与えない jsse.jar へのソースを求める別の質問があることを知っています - 私はそれを求めていません。)
私の質問は、ソース コードにアクセスできない場合、どのようにデバッグ トレースを行うのですか? (確かにJADベースのアプローチではありません)。
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、EA1DBF8D142621BFBYyZuqyqq9 + L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk + PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg ==
----- END RSA PRIVATE KEY -----
///////////////////// /////////////////////////////////////////
以下は私が試したことです
しかし、
"java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:無効なキー形式"
助けてください。
java - Javaを介してどの秘密鍵でサーバー証明書が作成されていることを確認する方法
お客様は、以下の openssl コマンドを使用してキーと証明書を作成しました
そのため、彼らは私に証明書 (OCcert.pem) と秘密鍵 (OCkey.pem) を提供してくれました。
Java を使用して OCkey.pem を介して OCcert.pem が確実に作成されるようにするにはどうすればよいですか?
注:お客様にsslコマンドの変更をお願いすることはできません。
助けてください。
jce - SunPKCS11Provider をダウンロードする場所
この記事に従って smardCard にアクセスしようとしていますが、SunPKCS11Provider で jar を見つける場所がわかりません。Oracleのドキュメントでは、1.5以降は標準であると言われています。これは、コンパイラが SunPKCS11 を見つけることができないと不平を言っている私のブロックです。