問題タブ [pkix]
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.
openssl - OpenSSLを使用してプログラムでX509証明書を作成する
C / C ++アプリケーションがあり、公開鍵と秘密鍵の両方を含むX509pem証明書を作成する必要があります。証明書は自己署名することも、署名しないこともできます。
コマンドラインからではなく、アプリ内でこれを実行したいと思います。
どのOpenSSL関数がこれを実行しますか?サンプルコードはボーナスです!
ssl - Nexus で https/ssl 経由で Maven リポジトリをプロキシできない
このページの指示に従って、サーバー証明書をインポートしました。
を使用するkeytool -list
と、証明書が実際にキーストアにあることがわかります。.crt
ファイルをインポートしようとするkeytool
と、キーストアに既に証明書が含まれていることが警告されます。
wrapper.conf
次に、2 つの ssl オプションで更新しました。再起動後、Nexus プロセスのコマンド ラインでそれらを確認できます。
しかし、リモート サーバーのプロキシ リポジトリを追加しようとすると、常にsun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
私は何を取りこぼしたか?
java - Javaで証明書を検証すると、例外がスローされます-要求されたターゲットへの有効な証明書パスが見つかりません
クライアントが証明書を送信する必要があるWebアプリがあり、サーバーは証明書を検証する必要があります(つまり、発行者が有効な発行者であり、サーバーのトラストストアに存在するかどうかを確認します)。コードは次のとおりです。
しかし、私は例外を受け取ります:
注:
ここで、クライアントによって送信される証明書はclient.crtであり、client.crt証明書の署名に使用される証明書は、キーストア「trustedca」に存在するca.crtです。では、なぜこの例外が発生するのでしょうか。
java - 証明書を検証しないトラスト マネージャーを明示的に設定しているのに、Java が証明書パスを検証しようとするのはなぜですか?
Sockets と Java 7 を使用した SSL を介した簡単な通信について質問があります。
ここまでで、サーバー用とクライアント用の2 つのRunnablesを作成しました。最終的には、アプリケーションが SSL を使用してモックアップ サーバーにデータを送信する簡単なテストを作成したいと考えています。サーバーが行うことになっているのは、クライアントから送信された文字列を受信し、それをファイルの内容と比較し、比較が成功したかどうかに応じて応答文字列を返信することだけです。
ただし、明示的にクライアントを認証したくないのですが、 javax.net.ssl.SSLHandshakeExceptionで立ち往生しています! クライアント側では、証明書を検証しないトラスト マネージャーを作成します。サーバー側では、this.sslServerSocket.setWantClientAuth(false)および/またはthis.sslServerSocket.setNeedClientAuth(false)を設定しても役に立ちません。テスト目的で、クライアントとサーバーの両方が「keystore.ks」と呼ばれる同じキー ストア ファイルを使用します。
例外が発生するポイントを下に矢印 (----->) でマークしました。誰かが私に何が悪いのかヒントをくれるかもしれません!
これは私の SSLServer クラスです:
これは私のクライアントクラスです:
最後に、出力:
java - 非 X509 証明書での CertPathBuilder および PKIX の使用
非 X.509 証明書である Java のカード検証可能証明書( PrimeKey /EJBCA のcert-cvc ライブラリjava.security.cert.Certificate
を使用) を使用していますが、実装しています。
既存のチェーン構築アルゴリズム、つまりCertPathBuilder
PKIX 実装 (Oracle/Sun のセキュリティ プロバイダまたは Bouncy Castle のいずれか) を使用して、これらの CVC 証明書のチェーンを構築したいと考えています。PKIXBuilderParameters
どうやらX.509証明書を期待しているように、私は現在トラストアンカーのセットを使用することに固執しています。
X.509 以外の証明書を PKIX で使用する方法はありますか? CertPathBuilder
そうでない場合、独自のカスタムを実装することなく、X.509 以外の証明書を使用する方法はありCertBuilderSpi
ますか?
java - TrustManagerFactoryがTrustManagerFactory(Java)でない場合
既存のApp-Server(TomCat)製品にJUnitテストを追加しようとしています。(既存のフィールド化された)カスタムTrustManagerで問題が発生しました。これは本番環境では正常に機能しますが、JUnitでは例外が発生します。
カスタマイズされたTrustManagerは、パスからキーストアをロードするだけであり、独自の公開証明書を暗黙的に信頼します。何らかの理由で、これをJUnitsで使用すると、次の行で例外が発生します。
例外:
この例外は、使用されているプロバイダー/アルゴリズムの組み合わせに関係なく発生します( "SunX509"、.getDefaultAlgorithm()など)。
どんな洞察も大歓迎です。
c - プログラムで証明書から情報を抽出する方法は?
証明書を生成しましたが、国、有効性、公開鍵などの情報を証明書から抽出できるようにしたいと考えています。証明書から取得したこの情報を、C プログラムに保存した他の情報と比較する必要があります。
このような関数を使用すると、証明書情報が出力されることがわかっています。
しかし、私が欲しいのはその情報の一部だけです。どのようにそれを行うことができますか?
ありがとう