2017-12-05 9 views
0

私はGitと対話するのが新しく、TFSインフラストラクチャと組み合わせようとしていますが、SSL認証の問題が発生しています。 Githubなし、VSTSなし。 TFSはオンプレミスなので、ローカルインストールです。Visual Studio 2017 Enterprise + TFS 2018 + Git Clone =ローカル発行者証明書を取得できません

サーバーの一部:

私は、Windows Server 2016上でTFS 2018をインストールし、企業の自己署名証明書を作成し、その証明書にTFS Webサービス(IISマネージャ)を結合しました。

TFSはHTTPS経由でのみ実行するように構成されています。 HTTPはHTTPSにリダイレクトされます。 バージョン管理システムとしてGitを使って新しいプロジェクトをセットアップしました。

クライアントの一部:

私はWindowsクライアントの2種類があります。 Windows 7 SP1および10周年のアップデート(両方ともVisual Studio 2017 Enterprise)

私は証明書を(信頼できるルート証明機関として)インストールし、ブラウザを介して接続していますが、私はプロジェクト情報を見ることができません。 ブラウザがないと、証明書の信頼性に関する警告が表示されません。 その後、Windows Secure Channel Libraryを使用してGit-2.15.1.2-64-bit.exeをインストールしました。

私はタイトルの致命的なエラーを取得していたので、これはguideに従って、Gitクライアントを構成しました。 したがって、基本的には、自己署名付きのコンテンツを抽出し、ca-bundle.crtファイルに追加しました。 それらのすべて:

  • C:/プログラムファイル/ Gitリポジトリ/にMinGW64/SSL/certsの/
  • C:\ユーザー\ MYNAME(ただガイドのようなグローバルなものとして作成が言う)
  • C: ¥Program Files(x86)¥Microsoft Visual Studio¥2017¥Enterprise¥Common7¥IDE¥CommonExtensions¥Microsoft¥TeamFoundation¥Team Explorer¥Git¥mingw32¥ssl¥certs(これはVisual Studio 2017インストールによって作成されます)

Powershellの "git config --list --show-origin"コマンドを使うと、リストに表示されます: ファイル: "C:¥Program Files¥Git¥mingw64/etc/gifconfig" http.sslcainfo = C:/ Program Files/Git/mingw64/ssl/certs/ca-bundle.crt ファイル: "C:/ users/MYNAME/.gifconfig「http.sslcainfo = C: :私はそれを言い続けVS2017チームエクスプローラパネルからリポジトリのクローンを作成しようとした場合

/users/myname/ca-bundle.crt」Gitは致命的なエラーで失敗しました。 致命的な:アクセス「https://tfs.blahblah/」にできない:SSL証明書の問題:「

をローカル発行者証明書を取得できません。しかし、私はGitのGUIを使用する場合には、別のエラーで応答: は致命的:リモートREF HEADを見つけることができませんでした何が取り付けられコミットされているので は、私の知る限りでは、それは

。合理的に見えません。しかし、私は、Visual Studioで「ペア」は2017年

私はいくつかのリンクを介して読み取ることができない場合、私は何をコミットすることはできませんしかし、私はそれを得ることができませんでした。したがって、重複していることを示す前に、私は特定のシステム/環境要件に注意してください。

注:すでにそれを話したとしては、企業/エンタープライズ環境

+0

エラーによると、SSL設定が正しく設定されていないようですが、VSTSなどの他のSSLリモートURLを持っていましたか? –

答えて

1

システム管理者をサポートした2日後でのソリューションではないためとSSLオフスイッチに私を示唆しないでください、私が得ました溶液。 他人を助けるかもしれない場合に備えてここに投稿します。 Visual Studio 2017は、自己署名入り証明書をエラー状態(「ローカル発行者の間違い」)として受け付けていないように見えます。それを承認するには、ローカルのCAでなければなりません。 手順は以下の通りであった。

サーバー:

  1. が会社/ TFSのための証明書を準備する信頼された機関のルート
  2. としてTFSのマシン上でCAを信頼インストールし、CAの信頼される企業/から派生します

    1. インストールCA:
    2. は、HTTPS接続に

    クライアント強制するTFSの証明書を作成するために結合TFSマシン

  3. 設定TFS-IISで信頼できる認証局のルートとして、それをインストールします。 (Windows 7および10で試行)
  4. TFS証明書をクライアントマシンの信頼できる権限ルートとしてインストールするブラウザのロックが表示され、接続が安全であると認識されている必要があります)
  5. Gitクライアントをインストールします(私はGit-2.15.1.2-64-bitです)。
  6. シェル(cmd、Powershell、Git-bashを好きなように実行する)を使い、次のコマンドを入力します:git config --global http.sslCAInfo C:/Users//ca-bundle.crt証明書を保存するフォルダは、基本的には両方のグローバルパスを作成しています)
  7. この内容の新しい.gitconfigファイルが表示されるはずです。[http] sslCAInfo = C:/ Users // ca -bundle.crt
  8. "git config --list --show-origin"と入力すると、新しいパス/設定が追加されます。
  9. ca-bundle.crtをC:\ Program Files \ Git \ mingw64 \ ssl \ certs C:/ Usersへのパス
  10. CA証明書をBase 64 X.509(.CER)としてパスにエクスポートします(IEインターネットオプション/コンテンツ/証明書から証明書を表示できます)。
  11. Notepad ++のようなエディタで開くか、エクスポートしたばかりのCA証明書を開きます。このコンテンツ
  12. オープン-----BEGIN CERTIFICATE-----publickey-----END CERTIFICATE-----
  13. コピーC:コンテンツがあるべき/Users//ca-bundle.crtとベース64 X.509(.CER)までのように、そのコンテンツに
  14. 輸出TFS証明書を追加して貼り付けあなたの道へ。
  15. 好きなエディタで開き、内容をコピーしてください。
  16. C:/ Users // ca-bundleを開きます。今、あなたがリポジトリのクローンを作成することができるはずのファイル

を保存しているコンテンツ

  • を追加するCRTと貼り付けます。

    基本的に、証明書にはすべてのチェーン権限が必要であり、にはが1つ必要です。

  • +0

    Uようこそ。完了:) – DioBrando

    関連する問題