Laden...

WS-Security mit WSE 3.0

Erstellt von a_maier56 vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.237 Views
A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren
WS-Security mit WSE 3.0

Hallo,

Ich möchte Teile meiner SOAP-Anfrage, welche an meinen WebService gesendet werden verschlüsseln und eine Signatur vornehmen. Hierzu habe ich mir die WSE 3.0 + Web Services Enhancements 3.0 Hands On Lab - Security runtergeladen und mit den enthaltenen Security-Beispielen rumprobiert. Das ganze funktioniert auch wunderbar. Was mir noch nicht so ganz klar wird (auch nach langem suchen in der MSDN) ist der Einsatz der Zertifikate. In den Samples, welche bei den WSE 3.0 dabei sind wird über eine Setup-Batch-Datei ein Server- (und das dazugehörige Client-)Testzertifikat erstellt. Dieses Zertifikat wird dann in den Samples verwendet. Was mache ich aber, wenn ich ein eigenes gültiges Zertifikat erstellen möchte? Muss ich das bei einer Zertifizierungsstelle im Netz machen? Wenn ja, kostet das etwas? Oder kann ich mir so ein Zertifikat selber erstellen? Wie installiere ich ein Zertifikat auf dem IIS bzw. auf meinem Service? Und wie kommt das Client-Zertifikat auf den Client Rechner?
Aus den Zeilen:

<serviceToken>
<x509 storeLocation="CurrentUser" storeName="AddressBook" findValue="CN=WSE2QuickStartServer" findType="FindBySubjectDistinguishedName" />
</serviceToken>

in der wse3policyCache.config des Clients komme ich zum Schluss, dass der Client ein Zertifikat lokal auf seinem Rechner haben muss, oder?

Danke!

Gruß, Andi!

S
8.746 Beiträge seit 2005
vor 17 Jahren

Schau dir mal makercert.exe an.

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Mit dem Certification Creation-Tool(Makecert.exe) kann man nur Zertifikate zu Testzwecken erstellen!

1.274 Beiträge seit 2005
vor 17 Jahren

Richtige Zertifikate bekommt man von Zertifizierungsstellen, die kosten aber was.
Ein Beispiel ist Versing, GlobalSign, TrustSign, C&W (Das sind ein paar Zertifizierungsstellen die im Windows XP hinterlegt sind).

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

C
64 Beiträge seit 2005
vor 17 Jahren

Hallo,

was für ein Zertifikat du benötigst kommt auf den Anwendungsfall an. Handelt es sich um einen öffentlichen Webservice solltest du in ein Zertifikat einer anerkannten Zertifizierungsstelle investieren. Handelt es sich um eine Unternehmensanwendung kannst du deinen eigene Zertifizierungsstelle (CA) einrichten, das geht über das Active Directory relativ einfach indem du den Dienst auf einem AD Controller installierst.

Du musst eben abwägen, bei Zertifikaten geht es ja immer nur um Vertrauen, also bei der Kommunikation von zwei Teilnehmern wird eben eine dritte vertrauenswürdige Person (Zertifizierungsstelle) hinzugezogen, welche garantiert das die Teilnehmer identifiziert sind. In einer internen Umgebung sollten daher alle dem AD Controller vertrauen können.

Grüße Sven

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Hallo,

Erstmal Danke für die Antworten! Mir ist jetzt nur noch nicht so ganz klar wie ich ein Client-Zertifikat auf den Client bekomme bzw. das installiert bekomme und wie ich ein Server Zertifikat auf den Service installiere bzw. speichere. Ich bin z.B. bei Domainbox. Wie bekomme ich mein Serverzertifikat auf auf diesen Domainbox-Server installiert?

Danke.

Gruß, Andi!

S
8.746 Beiträge seit 2005
vor 17 Jahren

Der IIS hat einen entsprechenden Wizard. Ansonsten über die Systemsteuerung (da wo du auch die IIS-Sicherheit kofigurieren kannst). Bei mir startet der Wizard auch, wenn man ein .cert-File doppelklickt.

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

OK, Danke! Und wie bekomme ich das Client-Zertifikat auf den Client? Sollte ich mir da einen kleinen Installer schreiben? Wenn ja, brauche ich Admin-Rechte, um das Client Zertfiikat zu installieren?

Gruß, Andi!

S
8.746 Beiträge seit 2005
vor 17 Jahren

Bin ich überfragt. Habe bisher nur Server-Zertifizierung gemacht.

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Zwar hat sich damit noch nicht meine Frage geklärt!
Aber trotzdem hier ein interessanter Artikel zu dem Thema:
http://www.microsoft.com/germany/msdn/library/security/ArbeitenmitZertifikateninNET20Teil1.mspx?mfr=true

C
64 Beiträge seit 2005
vor 17 Jahren

Mach mal nen Doppelklick auf das Zertifikat, dann solltest du unten eine Schaltfläche mit "Zertifikat installieren" haben. Meinst du das, oder verstehe ich deine Frage falsch?

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Also um den Hintergrund ein bisschen zu erklären:

Ich habe folgendes System geplant:

Auf meinem WebServer liegt mein WebService, welcher über eine Client-Applikation aufgerufen werden kann. Das Server-Zerifikat ist auf dem Server installiert und wird von dem WebService verwendet!
Die Client-Applikation sollte über Click-Once-Deployment auf dem Client installiert werden können. Ich will jetzt mit diese Installation das benötigte client-Zertifikat automatisch mitinstallieren. Geht das mit Click-Once-Deployment (also ohne Adminrechte, usw.)? Wenn ja wie mach ich das?

C
64 Beiträge seit 2005
vor 17 Jahren

Ich hab noch nie etwas mit Click-Once zu tun gehabt, allerdings sollte es funktionieren, ich hab da mal ein bischen gesucht und folgendes gefunden.

http://www.theserverside.net/news/thread.tss?thread_id=34833

Hier steht dann folgendes:

Windows Forms applications and the necessary certificates can be deployed via the Click Once technology

Allerdings wie du das genau machst kann ich dir nicht sagen.

Grüße Sven

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Hi,
Erstmal vielen Dank!! So eine Bestätgung hab ich nämlich auch verzweifelt gesucht! Das hilft mir schon mal weiter!!! Jetzt weiß ich, dass ich diesen Weg einschlagen kann. Jetzt gilt es nur noch das wie zu suchen 🙂! Danke nochmals!

Gruß, Andi!

341 Beiträge seit 2004
vor 17 Jahren

Original von a_maier56
Mir ist jetzt nur noch nicht so ganz klar wie ich ein Client-Zertifikat auf den Client bekomme bzw. das installiert bekomme und wie ich ein Server Zertifikat auf den Service installiere bzw. speichere.

So:

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Hi,

Danke für deine Screenshoterklährung 😉. Das habe ich auch hinbekommen. Ich würde diese Installation aber gerne über einen Installer (den ich selber schreibe) (bzw. wie schon erwähnt evtl. über ClickOnce Deployment) durchführen. In diesem Installer wird nämlich auch meine eigentliche Client-Applikation installiert. Hast du da schon irgendwelche Erfahrungen gemacht?

Danke.

Gruß, Andi!

341 Beiträge seit 2004
vor 17 Jahren

Ne, habe sowas nie gemacht!
Aber wenn du es hinbekommst schreibe bitte hier!

A
a_maier56 Themenstarter:in
38 Beiträge seit 2006
vor 17 Jahren

Werde ich tun 🙂!