2017-12-27 40 views
0

Java APIを使用してドキュメントをGoogleクラウドストレージにアップロードするためのコードスニペットをビルドして実行しました。 Google Sqlをプロジェクトに統合する中で、キーストアとトラストストアのパラメータを導入しました。ストアパラメータの導入後、アップロード関連のAPIは認証に関連するエラーで失敗しています。Google Cloud Storage Client APIでjavax.sslパラメータを渡すと証明書の検証に失敗する

2017年12月26日4時○○分46秒PM com.google.api.client.http.HttpRequestが WARNING実行: sun.security:要求 javax.net.ssl.SSLHandshakeExceptionを実行中にスローされた例外を。 validator.ValidatorException:PKIXパスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException:com.google.cloud.storage.StorageException:できない には、要求されたターゲットに起因する

への有効な証明書パスを見つけるにエラーが を取得しますサービスアカウントのアクセストークン:

javax ssl paramsを削除すると、コードは正常に動作しています。クラウドストレージAPIがクラウドsql ssl証明書を使用してストレージに接続しているためですか?クラウドストレージAPIの証明書のチェックをスキップする方法があるのですか?または、この問題を解決する最善の方法は何ですか?

答えて

0

はい、私たちは非常によく似た複雑な問題を抱えていました。この問題の原因となったMacAfee Webゲートウェイ(MWG)プロキシ構成が判明しました。 1つのプロセスから動作し、別のプロセスからエラーが発生した場合のSSL証明書検証の奇妙な動作に気付きました。これはまっすぐなコマンドラインJavaの実行から機能しましたが、同じコードをコンテナで実行したときにエラーが発生しました。 accounts.google.comと* .googleapsi.comからすべての証明書をインポートしました。私たちは何をすべきかについての手がかりがありませんでした。

MacAfee Webゲートウェイ(MWG)プロキシホワイトリストの設定は、クライアントプロセス(exeまたはスクリプト)の名前に基づいているようです。 MWGには、Java.exeプロセスのすべてのHTTPS URLはホワイトリストに表示されますが、コンテナ(odi.exe)などの他のプロセス(exe)名は表示されません。 MacAfee Webゲートウェイプロキシのこの設定のため、コマンドラインJavaコードは正常に動作し、コンテナからの同じコードでエラーが発生しました。また、HTTPS URLに対してプロキシ発行のSSL証明書があると、SSL証明書の検証が機能することに気付きました。

関連する問題