2012-02-09 35 views
6

Tôi có dịch vụ WCF ở 4.0.Chữ ký số cho tin nhắn SOAP trong WCF

Tôi cần thêm chữ ký kỹ thuật số vào phản hồi SOAP. Tôi không hoàn toàn chắc chắn cách thực sự nên thực hiện. Tôi tin rằng Phản hồi sẽ giống như những gì được hiển thị trong liên kết bên dưới.

https://spaces.internet2.edu/display/ISWG/Signed+SOAP+Messages

Có nơi nào tôi có thể biết chi tiết về điều này không? Xin tư vấn.

Trả lời

5

Hợp đồng thông báo có thể cho biết liệu đầu trang và/hoặc nội dung thư có được ký và mã hóa kỹ thuật số hay không.

Điều này được thực hiện bằng cách đặt thuộc tính System.ServiceModel.MessageContractMemberAttribute.ProtectionLevel trên thuộc tính MessageHeaderAttribute và MessageBodyMemberAttribute. Thuộc tính này là một kiểu liệt kê của kiểu System.Net.Security.ProtectionLevel và có thể được đặt thành None (không mã hóa hoặc chữ ký), Sign (chỉ chữ ký số), hoặc EncryptAndSign (cả mã hóa và chữ ký số). Mặc định là EncryptAndSign.

Để các tính năng bảo mật này hoạt động, bạn phải định cấu hình đúng ràng buộc và hành vi. Nếu bạn sử dụng các tính năng bảo mật này mà không có cấu hình thích hợp (ví dụ, cố gắng ký một tin nhắn mà không cung cấp thông tin đăng nhập của bạn), một ngoại lệ sẽ được ném vào thời gian xác nhận.

Đối với tiêu đề thư, cấp độ bảo vệ được xác định riêng cho từng tiêu đề.

Đối với phần thân máy nhắn tin, mức độ bảo vệ có thể được coi là "mức bảo vệ tối thiểu". Cơ thể chỉ có một mức độ bảo vệ, bất kể số lượng bộ phận cơ thể. Mức độ bảo vệ của cơ thể được xác định bởi cài đặt thuộc tính ProtectionLevel cao nhất của tất cả các bộ phận cơ thể. Tuy nhiên, bạn nên đặt mức bảo vệ của từng bộ phận cơ thể với mức bảo vệ tối thiểu thực tế được yêu cầu. Vui lòng xem bài viết this để biết thêm các ví dụ chi tiết.

Các vấn đề liên quan