メインコンテンツまでスキップ

Java VM

macOS 上のすべての Java KeyStore に、スクリプト 1 つで Proxyman Root CA 証明書をインストールします。Java や Kotlin のアプリから HTTPS 通信をキャプチャできるようになります。

Java アプリの HTTPS 通信をインターセプトするには、Proxyman CA 証明書を Java KeyStore にインストールする追加の手順が必要です。たとえば、次のような場合に必要です:

  • Java または Kotlin で書かれたユニットテストの通信をインターセプトする
  • Java アプリまたは CLI の通信をインターセプトする

1. メリット​

  • Proxyman には、ワンクリックで Root Certificate を Java KeyStore に自動インストールするスクリプトが用意されています ✅
  • $JAVA_HOME に対応
  • SDKMAN に対応
  • /usr/libexec/java_home に対応

2. 使い方​

1. Mac に Proxyman CA をインストールする​

Java VM に Proxyman CA をインストールする前に、Mac に正しくインストールしておく必要があります。

macOS ガイドをご覧ください:

すでに完了している場合は、この手順を省略できます。

2. すべての Java KeyStore に Proxyman CA をインストールする​

  • Certificate メニュー → Install Certificate on Java VMs → Run Script...
Install Certificate on Java VMs が開いていて Run Script がハイライトされた Proxyman の Certificate メニュー

Java 証明書のスクリプトを実行する

  • スクリプトは JAVA_HOME、SDKMAN、または $(/usr/libexec/java_home) から KeyStore の場所を探し、可能であれば CA 証明書をインストールします。
Java の cacerts KeyStore に証明書をインストールする Proxyman の Java スクリプトの Terminal 出力

Proxyman は見つけたすべての Java トラストストアに証明書をインストールします

備考

スクリプトは /Applications/Proxyman.app/Contents/Frameworks/ProxymanCore.framework/Versions/A/Resources/install-certificates-java.sh にあります。

備考

Proxyman は、管理者権限でスクリプトを Terminal アプリ上で実行するために AppleScript を使用するため、スクリプトからオートメーションの許可を求められることがあります。

別の解決方法​

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target