Neues rund um's Thema .Net, Team Foundation Server und SCRUM RSS 2.0
# Tuesday, November 01, 2011

Will man auf einen TFS über eine Internet-Verbindung zugreifen, dann bieten sich zwei Wege an: Entweder per VPN oder per SSL. Der Weg über SSL ist eigentlich der einfachere, Nachteil dabei ist allerdings, dass man ein Zertifikat von einer offiziellen Registrierungsstelle kaufen muss. Aber es geht auch ohne.

Dazu muss man zunächst ein Tool aus dem IIS 6 Ressource-Kit herunterladen. Das Tool gibt es auch einzeln hier zum Download.

Damit können wir nun ein SSL-Zertifikat generieren.

selfssl /N:CN=my.domain.com /K:2048 /V:730 /P:443 /S:3 /t

Der Parameter /V gibt die Gültigkeitsdauer in Tagen an, der Parameter /P den Port auf dem SSL laufen soll und /S die ID der Web Site des TFS. Letztere bekommt man einfach heraus indem man die Advanced Settings der Web Site aufruft.

image

Da der TFS im Normalfall ja nicht direkt mit dem Internet verbunden ist, muss der Port noch entsprechend auf der Firewall auf den jeweiligen Server auf dem der TFS läuft weitergeleitet werden. Diese Einstellung hängt natürlich von der jewweils eingesetzten Firewall ab.

Nun können wir eigentlich den Server bereits über den Web Access erreichen, z.B. https://my.domain.com/tfs/web . Achtung hier wird beim Einsatz von SSL kein Port mit angegeben sofern der Standard-Port verwendet wird. Im Browser bekommt man zwar eine Meldung, dass das Zertifikat nicht gültig ist, aber diese kann man entsprechend übergehen.

image

Das Problem ist, dass Visual Studio sich so nicht verbinden mag. Gibt man im Registrierungsdialog für neue Server die URL ein und stellt das Protokoll auf https dann erhält man folgenden Fehler:

---------------------------
Microsoft Visual Studio
---------------------------
Microsoft Visual Studio

TF31002: Unable to connect to this Team Foundation Server: my.domain.com.

Team Foundation Server Url: https://my.domain.com/tfs

Possible reasons for failure include:

- The name, port number, or protocol for the Team Foundation Server is incorrect.

- The Team Foundation Server is offline.

- The password has expired or is incorrect.

Technical information (for administrator):

The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
---------------------------
OK   Help  
---------------------------

 

Als Lösung müssen wir auf den Clients das Zertifikat installieren. Dazu muss man das Zertifikat auf dem Server zunächst exportieren. Im IIS Manager dazu einfach auf dem Server die Option Server Certificates doppelt klicken.

image

Dann kann das Zertifikat über die Option Export in eine Datei exportiert werden indem das Ziel und ein Passwort angegeben werden. Diese Datei kopieren wir nun auf den Client und klicken diese dort doppelt an. Es öffnet sich der Certificate Import Wizard. Hier können wir für die ersten beiden Seiten zunächst Weiter klicken. Dann geben wir das Kennwort ein dass wir beim Export angegeben haben. Auf der nächsten Seite geben wir an, dass wir das Zertifikat in einen spezifischen Store importieren wollen, nämlich in den “Trusted Root Certification Authorities”

image

Nun können wir uns auch mit Visual Studio ohne Probleme auf unseren Server verbinden.

Tuesday, November 01, 2011 1:56:11 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0] -
TFS 2010 | VS 2010
Archive
<July 2014>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2014
Thomas
Sign In
Statistics
Total Posts: 621
This Year: 12
This Month: 1
This Week: 0
Comments: 356
Themes
All Content © 2014, Thomas
DasBlog theme 'Business' created by Christoph De Baene (delarou)