290 likes | 483 Views
WSE 3.0 למפתחים. WS-Security (Web Services Security). Communication protocol providing a means for applying security to web services . The protocol contains specifications on how integrity and confidentiality can be enforced on web services messaging.
E N D
WS-Security (Web Services Security) Communication protocol providing a means for applying security to web services. The protocol contains specifications on how integrity and confidentiality can be enforced on web services messaging. The protocol contains specifications on how integrity and confidentiality can be enforced on web services messaging. The WSS protocol includes details on the use of SAML and Kerberos, and certificate formats such as X.509. WS-Security incorporates security features in the header of a SOAP message, working in the application layer. Thus it ensures end-to-end security.
יצירת תעודה (certificate) למכונה • להוריד את הקובץ Config_WS_WSE3.zip • לעשות extract לקובץ zip • להריץ את cert_request.bat • בשלב זה יווצר בספריה Config_WS_WSE3 קובץ ששמו <hostname>.txt כאשר <hostname> הוא שם המכונה. • בשלב זה גם נוצר ה private key בספריה: C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys • להעביר לצוות PKI של תהילה את הקובץ <hostname>.txt שנוצר ולציין שזוהי בקשה לסרטיפיקט בשימוש עם WSE 3.0. • צוות PKI של תהילה ינפיק עבורכם קובץ בשם <hostname>.cer.txt • יש לשנות את שם הקובץ ל <hostname>.cer למקמו ב Config_WS_WSE3 ולהריץ את cert_accept.bat
בדיקה התעודה - 1 לבדוק שהתעודה נמצאת תחת: Certificates (Local Computer) -> personal -> Certificates
בדיקת התעודה - 2 לוודא שיש private key
בדיקת התעודה - 3 פתיחת התעודה דרך WSE X.509 Certificate Tool
העתקת מפתח ציבורי במכונה שבה נמצא המפתח הפרטי מבצעים Export לתעודה, לא כולל מפתח פרטי. במכונה שצריכה לזהות את החתימה מבצעים import לתעודה.
תוספות בקוד של ה Web service • הגדרת policy: [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [Microsoft.Web.Services3.Policy("HelloWorldPolicy")] public class Service : System.Web.Services.WebService { }
הוספת Web Reference בקובץ references.cs יווצרו שני web references: public partial class ServiceWse : Microsoft.Web.Services3.WebServicesClientProtocol public partial class Service : System.Web.Services.Protocols.SoapHttpClientProtocol ל wse נעבוד עם הראשון ונגדיר policy: WseClient.HelloWorld.ServiceWse helloWebRef = new WseClient.HelloWorld.ServiceWse(); helloWebRef.SetPolicy("WseClientPolicy");
Diagnostics • Message Tracing הינו כלי טוב לפתרון בעיות אך ב production עדיף לא להשתמש בו על מנת לא לגזול משאבים רבים מהשרת. • Wse Trace Tool ניתן להוריד מ: http://simonguest.com/blogs/smguest/archive/2005/07/20/New-Version-of-WSE-Trace-Tool.aspx
כדאי לבדוק לפני תחילת עבודה • התאמה בין השעונים של המכונה עליה רץ ה client והמכונה עליה רץ ה web service. במידה והשעונים אינם מסונכרנים ניתן להגדיר הפרשי זמן מקובלים מתוך ה configuration tool בלשונית של security בשדה Time Tolerance In Seconds . • לוודא הרשאות קריאה ל process שמשתמש ב wse על ה private key של המכונה שנמצא בספריה: C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys פעולה זו יש לבצע גם עבור client וגם עבור web service.