Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 3: : Định cấu hình cho HTTPS

Phần 1Phần 2 của loạt bài hướng dẫn gồm ba phần này hướng dẫn cho bạn cách để phát triển dịch vụ web và trình khách dịch vụ web, cách định cấu hình xác thực cơ sở HTTP. Trong bài viết cuối cùng của loạt bài này, bạn tạo ra một chứng chỉ tự ký (self-signed certificate), kho chìa khóa, kho ủy thác (trust store), và định cấu hình cho giao thức Secure Sockets Layer (SSL) bằng cách sử dụng bàn điều khiển quản trị WebSphere® của IBM® Sau đó, bạn định cấu hình HTTPS cho các dịch vụ web và các trình khách dịch vụ Web của bạn và kiểm thử các dịch vụ web qua HTTPS của cả hai loại: trình khách Java™ Platform, Enterprise Edition (Java EE) và trình khách Java độc lập.

Henry Cui, Kỹ sư phần mềm, IBM

Henry Cui làm việc cho nhóm dịch vụ và hỗ trợ Rational Application Developer tại phòng thí nghiệm của IBM tại Toronto. Ông là chuyên gia về các vấn đề chủ thể (subject) của nhóm hỗ trợ trong lĩnh vực dịch vụ web, nơi ông đã giúp nhiều khách hàng giải quyết các vấn đề về thiết kế, phát triển, và các vấn đề di trú của các dịch vụ web. Henry là đồng tác giả của cuốn sách được ưu chuộng "Hướng dẫn lập trình Rational Application Developer V7", một trong những cuốn sách đỏ của IBM



11 09 2009

Trước khi bạn bắt đầu

Về loạt bài hướng dẫn này

Nếu bạn đã qua Phần 1 của loạt bài hướng dẫn này, thì bạn đã:

  • Thiết lập các máy chủ.
  • Tạo Java bean.
  • Tạo các dịch vụ web.
  • Tạo một trình khách Java EE của dịch vụ web.
  • Tạo một trình khách Java độc lập của dịch vụ Web.

Phần 2 của hướng dẫn này được xây dựng dựa trên phần 1, chỉ cho các bạn cách làm thế nào để định cấu hình xác thực cơ sở HTTP. Tại phần 2 bạn đã:

  • Kích hoạt bảo đảm an ninh của WebSphere Application Server của IBM.
  • Định cấu hình xác thực cơ sở HTTP cho các bên cung cấp dịch vụ web.
  • Định cấu hình xác thực cơ sở HTTP cho trình khách dịch vụ web bằng cách sử dụng bộ miêu tả triển khai.
  • Định cấu hình xác thực cơ sở HTTP cho trình khách dịch vụ web bằng mã lệnh chương trình.
  • Giám sát các thông tin về tính xác thực cơ sở của HTTP bằng cách sử dụng trình giám sát TCP/IP.

Phần 3 của hướng dẫn này cho bạn biết cách để định cấu hình cho HTTPS. Trong phần 3, bạn:

  • Tạo kho lưu trữ các khóa, kho các khách hàng được chấp nhận và chứng nhận các nhà cung cấp dịch vụ web.
  • Tạo cấu hình của giao thức Secure Sockets Layer (SSL) cho nhà cung cấp dịch vụ web.
  • Tạo một dây chuyền chuyển tải hộp chứa trang web mới để sử dụng cấu hình SSL mới cho nhà cung cấp dịch vụ web.
  • Định cấu hình cho HTTPS cho dịch vụ Web phía khách.
  • Kiểm thử dịch vụ Web trên HTTPS từ Java EE client.
  • Kiểm thử dịch vụ Web HTTPS từ Java client độc lập.

Một số yêu cầu

Bạn cần phải có một số hiểu biết cơ sở về công nghệ Java và các dịch vụ web để làm theo hướng dẫn này.

Yêu cầu về hệ thống

Bạn cần phải cài đặt sản phẩm Rational Application Developer V7 của IBM, bản mới nhất. (Bạn có thể tải về bản Rational Application Developer dùng thử tại trang developerWorks nếu bạn chưa mua sản phẩm này.) Nếu bạn không chắc rằng bản Rational Application Developer V7của mình là bản mới nhất, bạn có thể vào phần IBM Installation Manager và chọn mục Update Packages để xem phần cập nhật mới nếu đã có. Vào thời điểm tôi viết hướng dẫn này, phiên bản mới nhất của Rational Application Developer là 7.0.0.5. (Lưu ý: Cứ khoảng ba tháng một lần IBM phát hành một gói đã được sửa chữa. Bạn có thể gặp một phiên bản mới hơn của Rational Application Developer tại thời điểm cài đặt. Mỗi phiên bản mới của Rational Application Developer có chứa số lượng lớn các phần đã sửa chữa. Chúng tôi khuyên bạn nên cài đặt các phiên bản mới nhất để tránh gặp các vấn đề.)


Các khái niệm cơ bản về SSL

Giao thức SSL được dựa trên mật mã khóa công cộng và dựa vào sự hiện diện của chứng chỉ số. Một chứng chỉ số có chứa cả khóa công cộng lẫn khóa riêng tư, và nó tiết lộ các thông tin về chủ sở hữu của nó, bao gồm cả nhân dạng. Các thông điệp được mã hóa bằng một trong hai khóa này chỉ có thể được giải mã bằng khóa tương ứng kia trong cặp khoá. Bạn có thể trích xuất các khoá công cộng (được gọi là chứng chỉ của người ký – signer certificate) tới một tệp tin và nhập khẩu chứng chỉ này vào kho ủy thác của trình khách. Trình khách đòi hỏi phần chứng chỉ của người ký trong chứng chỉ số cho các giao tiếp SSL.

Máy chủ WebSphere Application Server của IBM hỗ trợ hai loại kho khóa:

  • Tệp kho khóa, chứa một tập hợp các chứng chỉ số và các khóa riêng tư kết hợp với mỗi chứng chỉ.
  • Tệp kho ủy thác, chứa một tập hợp các chứng chỉ số được coi là đáng tin cậy và sẽ dùng để kiểm tra xem các chứng chỉ được xuất trình có khớp hay không khi khởi tạo kết nối SSL để bảo đảm đúng nhân dạng.

Bài hướng dẫn này sử dụng HTTPS với chứng chỉ phía máy chủ. Trong cấu hình này, máy chủ phải xuất trình chứng chỉ của nó cho trình khách để trình khách xác định nhân dạng của máy chủ. Bạn sẽ sử dụng một chứng chỉ tự ký, bởi vì nó có thể được sử dụng trong một môi trường tin cậy, trong môi trường đó hai bên không cần phải có bên thứ ba để chứng nhận chúng. Trong ứng dụng thực tế, bạn có thể phải cần đến một chứng chỉ thực, do một cơ quan có thẩm quyền chứng nhận.


Tạo kho khóa, kho ủy thác và chứng chỉ cho các bên cung cấp dịch vụ Web

Tại các phiên bản trước của máy chủ WebSphere Application Server, quản lý các chứng chỉ đòi hỏi phải sử dụng một tiện ích bên ngoài được gọi là iKeyman. Từ WebSphere Application Server phiê bản V6.1 trở đi, bạn có thể quản lý kho khóa, kho ủy thác và các chứng chỉ từ bàn điều khiển quản trị.

Tạo kho khóa, kho ủy thác

  1. Khởi chạy máy chủ WAS v6.1 for Web services provider.
  2. Tại khung nhìn Servers, nhấn chuột phải vào WAS v6.1 for Web services provider và chọn Run administrative console.
  3. Nhập ID và mật khẩu người dùng của bạn sau đó nhấn Log in.
  4. Tại ô bên trái, mở rộng Security sau đó chọn SSL certificate and key management.
  5. Tại khung Related Items, chọn Key stores and certificates. Bàn điều khiển này hiển thị các kho khóa mặc định đã được tạo ra trong quá trình tạo lược thảo, như tại hình 1. Máy chủ WebSphere Application Server tạo tệp tin kho khóa key.p12 mặc định và tệp tin ủy thác trust.p12 mặc định trong thời gian tạo ra lược thảo. Một chứng chỉ mặc định, tự ký cũng được tạo ra trong tệp tin key.p12. Các khóa công cộng hay là khóa của người ký cũng được trích xuất từ tệp tin key.p12 và được bổ xung vào tệp tin trust.p12.
    Hình 1. Kho khóa và các chứng chỉ
    Keystores and certificates

    Các tệp kho khóa mặc định và kho ủy thác mặc định không nên dùng cho sản xuất, vì mật khẩu của nó được nhiều người biết đến, đó là WebAS. Thay vào đó, bạn tạo ra một bộ mới các kho khóa và kho ủy thác. Bạn nhấn New.

  6. Mở trình thám hiểm Microsoft® Windows® và tạo các thư mục sau đây tại ổ C của bạn:
    • C:\ServerKeyStore
    • C:\ServerTrustStore
  7. Quay trở lại bàn điều khiển quản trị của WebSphere và nhập các giá trị sau đây: (xem hình 2)
    • Trường Name: ServerKeyStore
    • Trường Path: C:\ServerKeyStore\ServerKeyStore.jks
    • Trường Password: sslwebsv
    • Trường Type: JKS
    Hình 2. Tạo kho khóa mới
    Create a new keystore
  8. Nhấn OK, sau đó nhấn Save.
  9. Nhấn New để tạo kho ủy thác, sau đó nhập các giá trị sau:
    • Trường Name: ServerTrustStore
    • Trường Path: C:\ServerTrustStore\ServerTrustStore.jks
    • Trường Password: sslwebsv
    • Trường Type: JKS
  10. Nhấn OK, sau đó nhấn Save.

Tạo một chứng chỉ cá nhân

  1. . Chọn mục ServerKeyStore mà bạn vừa tạo ra. Tại mục Additional Properties, nhấn mục Personal certificates.
  2. Nhấn Create self-signed certificate và nhập vào các giá trị sau (xem hình 3):
    • Trường Alias: WASServerCertificate
    • Trường Common name: Server
    • Trường Organization: IBM
    Hình 3. Tạo chứng nhận tự ký
    Create self-signed certificate
  3. Nhấn OK.

Định cấu hình SSL cho nhà cung cấp dịch vụ web

Kho Java Secure Socket Extension (JSSE) là dành cho các truyền thông SSL dựa trên nền Java. Một cấu hình SSL được sử dụng để gói tất cả những thứ cần thiết cho JSSE để xây dựng một kết nối SSL, chẳng hạn như vị trí của các tệp khóa, các kiểu của chúng và các trình mật mã có sẵn.

  1. Tại ô bên trái, mở rộng Security và chọn SSL certificate and key management.
  2. Tại khung Related Items, chọn SSL configurations.
  3. Nhấn New để tạo cấu hình SSL mới, và nhập WebServiceConfigure vào trường Name.
  4. Chọn ServerTrustStore từ danh sách thả xuống các tên kho ủy thác và chọn ServerKeyStore danh sách thả xuống các tên kho khóa.
  5. Nhấn Get certificate aliases. Các tên thay thế chứng chỉ mặc định của máy chủ và trình khách sẽ được tự động điền vào như ở hình 4.
    Hình 4. Cấu hình SSL mới
    New SSL configuration
  6. Nhấn OK sau đó nhấn Save.

Lưu ý: Nếu bạn muốn sử dụng xác thực SSL lẫn nhau, bạn cần phải nhấn vào Quality of protection (QoP) settings, và thiết lập cho mục Client authentication là Required. Trong trường hợp này, chứng chỉ người ký của trình khách cũng phải được nhập vào kho ủy thác của máy chủ. Đối với hướng dẫn này, bạn không sử dụng xác thực lẫn nhau, do đó bạn để nó là mặc định.


Tạo một dây chuyền chuyển tải thùng chứa trang web mới để sử dụng cấu hình SSL mới cho bên cung cấp dịch vụ web.

Trong phần này, bạn tạo dây chuyền chuyển tải thùng chứa trang web để kết hợp với cấu hình SSL mới mà bạn đã tạo ra trong phần trước. Dây chuyền chuyển tải mới sử dụng cổng 9449 làm cổng của SSL mới và bạn sẽ bổ xung cổng 9449 cho máy chủ ảo đang chứa ứng dụng web của bạn.

  1. Tại ô bên trái, chọn Servers > Application servers sau đó chọn server1.
  2. Tại khung Container settings, mở rộng Web Container Settings và nhấn Web container transport chains.
  3. Nhấn New. Nhập WebServiceInboundSecure vào trường Transport chain name. Bạn chọn WebContainer-Secure(templates/chains | webcontainer-chains.xml#Chain_2) từ danh sách thả xuống của các mẫu dây chuyền chuyển tải như ở hình 5.
    Hình 5. Chọn mẫu dây chuyền chuyển tải
    Select a transport chain template
  4. Nhấn Next.
  5. Tại trang Select a port, nhập các giá trị sau:
    • Trường Port name: SecureWebServicePort
    • Trường Host: *
    • Trường Port: 9449

    Cổng 9449 là cổng đã được bảo đảm an toàn, nơi để bạn gửi đến các yêu cầu dịch vụ Web. Cổng này phải không được sử dụng bởi bất kỳ tiến trình nào khác.

  6. Nhấn Next sau đó nhấn Finish.
  7. Nhấn Save. Dây chuyền WebServiceInboundSecure bây giờ đã được liệt kê như là một trong những dây chuyền chuyển thùng chứa web. Nhấn WebServiceInboundSecure.
  8. Dây chuyền chuyển tải mới này cần sử dụng cấu hình SSL mới mà bạn tạo ra trước đó. Vì vậy bạn nhấn SSL inbound channel(SSL_4).
  9. Tại khung SSL configuration chọn WebServiceConfigure, như ở hình 6.
    Hình 6. Chọn cấu hình của SSL
    Select SSL Configuration
  10. Nhấn OK sau đó chọn Save.
  11. Bây giờ bạn cần phải thêm cổng 9449 cho máy chủ ảo. Trong ô bên trái, mở rộng Environment > Virtual Hosts và nhấn default_host. default_host là máy chủ ảo chứa các ứng dụng web của bạn.
  12. Tại khung Additional Properties, nhấn Host Aliases.
  13. Nhấn New. Nhập 9449 vào trường Port và nhấn OK. Cổng 9449 bây giờ được liệt kê như là một trong các cổng của default_host, như ở hình 7.
    Hình 7. Danh sách các cổng của default_host
    Port list of default_host
  14. Nhấn Save.

Để xác nhận rằng HTTPS được kích hoạt trên cổng 9449:

  1. Khởi động lại máy chủ WAS v6.1 for Web services provider.
  2. Bạn phải chắc chắn rằng máy chủ WAS v6.1 for Web services consumer đã được khởi chạy.
  3. Tại khung nhìn Project Explorer, mở rộng CalculatorWebClient, WebContentsampleCalculatorProxy. Nhấn chuột phải vào TestClient.jsp và chọn Run As > Run on server.
  4. Tại trang trình khách JSP mẫu, nhấn phương thức getEndpoint() sau đó nhấn Invoke. Kết quả của bạn tương tự như đường dẫn sau: http://localhost:9080/Calculator/services/Calculator. Bạn sao chép đường dẫn URL này.
  5. Nhấn setEndpoint() tại trình khách JSP mẫu, gõ nhập đường dẫn https://localhost:9449/Calculator/services/Calculator và nhấn Invoke.
  6. Bởi vì cổng 9449 là một HTTPS an toàn, bạn sẽ nhận được lỗi ngoại lệ ở giai đoạn thiết lập quan hệ (bắt tay nhau - handake) của SSL nếu bạn cố gắng gọi ra các hoạt động của dịch vụ web. Nhấn phương thức add(int,int) và nhập các giá trị để kiểm thử. Bạn sẽ thấy báo lỗi ngoại lệ sau:

    exception: WSWS3713E: Connection to the remote host localhost failed.Received the following error: Handshake terminated SSL engine: CLOSED

Chúc mừng bạn! Bạn đã định cấu hình thành công cho HTTPS cho bên cung cấp dịch vụ Web.


Định cấu hình cho HTTPS cho trình khách dịch vụ Web

Trong các phiên bản trước của máy chủ WebSphere Application Server, để thiết lập sự tin cậy giữa trình khách và máy chủ, bạn phải lấy chứng nhận của máy chủ bằng cách thủ công và sau đó nhập nó vào vào kho ủy thác của trình khách. Máy chủ WebSphere Application Server V6.1 làm cho công việc của bạn trở nên dễ dàng hơn bằng cách kết nối vào cổng và máy chủ SSL từ xa đã định và nhận chứng chỉ người ký trong quá trình bắt tay (handshake) giữa hai máy bằng cách sử dụng tùy chọn lấy ra từ cổng (Retrieve from port). Kết quả của thuật toán băm an ninh (Secure Hash Algorithm - SHA) của người ký sẽ hiển thị để kiểm tra xác nhận, và nếu được người quản trị chấp thuận, nó sẽ được bổ xung vào kho ủy thác đang được chọn.

Để nhập khẩu chứng chỉ của các bên cung cấp dịch vụ web vào kho ủy thác của trình khách, bạn:

  1. Tại khung nhìn Servers nhấn chuột phải vào WAS v6.1 for Web services consumer và chọn Run administrative console.
  2. Tại ô bên trái, bạn mở rộng SecuritySSL certificate and key management.
  3. Tại khung Related Items chọn Key stores and certificates. Như đã thảo luận tại phần trước, bảng điều khiển này hiển thị các kho khóa mặc định được tạo ra trong quá trình tạo lược thảo. Tệp tin key.p12 là tệp kho khóa mặc định và tệp trust.p12 là tệp tin kho ủy thác mặc định. Bạn có thể tạo ra bộ các tệp tin kho khóa và kho ủy thác mới và định cấu hình mới cho SSL như bạn đã làm cho các bên cung cấp dịch vụ web. Tuy nhiên, để đơn giản hơn, ở đây bạn chỉ cần nhập khẩu chứng chỉ của các bên cung cấp dịch vụ Web trực tiếp vào kho ủy thác mặc định của trình khách.
  4. Nhấn NodeDefaultTrustStore.
  5. Tại khung Additional Properties, nhấn chọn Signer certificates. Danh sách các chứng chỉ người ký hiển thị, như tại hình 8.
    Hình 8. Chứng chỉ của người ký
    Signer certificates
  6. Nhấn Retrieve from port, sau đó nhập các giá trị sau, như tại hình 9:
    • Trường Host: localhost
    • Trường Port: 9449
    • Trường Alias: WebServicesProviderCert
    Hình 9. Lấy ra chứng chỉ từ cổng
    Retrieve certificate from port
  7. Nhấn Retrieve signer information. Các thông tin về người ký đã lấy ra sẽ hiển thị, như ở hình 10.
    Hình 10. Các thông tin về người ký được lấy ra
    Retrieved signer information
  8. Nhấn OK, sau đó nhấn Save.

Kiểm thử dịch vụ web qua HTTPS từ trình khách Java EE

Vì rằng bạn đã kích hoạt HTTPS tại https://localhost:9449/, nên bạn có thể sử dụng trình khách JSP mẫu để gửi các yêu cầu SOAP tới điểm cuối HTTPS được bảo vệ an toàn này.

  1. Khởi động lại máy chủ WAS v6.1 for Web services consumer.
  2. Tại khung nhìn Project Explorer, mở rộng dự án CalculatorWebClient, WebContentsampleCalculatorProxy. Nhấn chuột phải vào TestClient.jsp, và nhấn Run As > Run on server.
  3. Tại trang trình khách JSP mẫu, nhấn phương thức getEndpoint() và nhấn Invoke. Bạn sẽ thấy một kết quả tương tự như sau: http://localhost:9080/Calculator/services/Calculator. Sao chép đường dẫn URL này.
  4. Nhấn setEndpoint() tại trình khách JSP mẫu và gõ nhập URL: https://localhost:9449/Calculator/services/Calculator
  5. Nhấn Invoke.
  6. Kiểm thử các phương thức cộng, trừ, nhân, chia Lần này bạn sẽ nhận được kết quả đúng.

Sau khi bạn kích hoạt HTTPS thì tất cả các trao đổi thông tin đều được mã hóa và bạn sẽ không thấy các thông điệp dưới dạng văn bản rõ nữa. Trình giám sát TCP/IP, hoạt động giống như một trình gián điệp (snooper) của bên thứ ba, không thể giải mã các yêu cầu và đáp ứng. Để chứng minh điều này, ta làm như sau:

  1. Chọn Window > Preferences > Run/Debug > TCP/IP Monitor, sau đó nhấn Add. Hộp thoại New Monitor mở ra.
  2. Tại trường Local monitoring port bạn nhập số cổng duy nhất trên máy tính của bạn còn chưa được sử dụng bởi bất kỳ tiến trình nào, ví dụ: 9550.
  3. Tại trường Host name gõ nhập localhost.
  4. Đối với trường port bạn nhập 9449, là cổng mà dịch vụ web được bảo vệ an toàn bằng HTTPS đang chạy.
  5. Đối với trường type, chọn TCP/IP, như ở hình 11. Lưu ý: Để cho trình giám sát TCP/IP chặn được các tin nhắn được bảo vệ bằng HTTPS, bạn cần phải chọn TCP/IP thay cho HTTP.
    Hình 11. Thiết lập trình giám sát TCP/IP.
    Set up TCP/IP monitor
  6. Nhấn OK, sau đó nhấn Start.
  7. Nhấn OK để thoát khỏi trang Preferences.
  8. Nhấn setEndpoint() tại trình khách JSP mẫu và gõ nhập URL sau: https://localhost:9550/Calculator/services/Calculator.
  9. Nhấn Invoke.
  10. Nhấn phương thức add(int,int) và nhập các giá trị để kiểm tra. Các yêu cầu và đáp ứng được hiển thị tại khung nhìn TCP/IP Monitor, như tại hình 12. Bạn có thể thấy cả tiêu đề HTTP và phong bì SOAP đều được mật mã hóa. Toàn bộ lưu lượng truy cập HTTP xuất hiện dưới dạng thông tin được mật mã hóa.
    Hình 12. Yêu cầu và đáp ứng
    Request and response

Kiểm thử các dịch vụ web qua HTTPS từ trình khách Java độc lập

Trình khách Java độc lập chạy ở bên ngoài thùng chứa của Java EE. Để gửi yêu cầu SOAP tới cổng HTTPS đúng, bạn có thể gọi ra phương thức setEndpoint() của lớp ủy nhiệm (proxy) đã được tạo ra. Bạn cũng cần phải thiết lập các thuộc tính hệ thống Java để ra lệnh cho môi trường chạy thi hành sử dụng kho khóa và kho ủy thác nào.

  1. Tại dự án CalculatorJavaClient, bạn sao chép mã trong liệt kê 1 và dán nó vào tệp TestCalculator.java của bạn.

    Lưu ý: Bạn cần phải thay thế các chữ "xxxxxxxx" bằng tên người dùng và mật khẩu của bạn để xác thực cơ sở. Bạn cũng cần phải sử dụng Windows Explorer để tìm kiếm các tệp tin kho khóa và kho ủy thác mặc định của lược tả được máy chủ WAS v6.1 for Web services consumer sử dụng và thay thế %RAD installation root%, %Your cell name%%Your node name% bằng các giá trị thực tế trong các cài đặt hệ thống của riêng bạn. Ví dụ, tôi đã cài đặt Rational Application Developer tại thư mục D: / RAD7. Tên ô của tôi là localhostNode02Cell, và tên nút của tôi là localhostNode02. Tôi cần phải đặt thuộc tính javax.net.ssl.trustStore là: D:/RAD7/runtimes/base_v61/profiles/AppSrv02/config/cells/ localhostNode02Cell/nodes/localhostNode02/trust.p12.

    Liệt kê 1. Tệp TestCalculator.java

    Nhấp vào để xem mã nguồn

    Liệt kê 1. Tệp TestCalculator.java

    package com.ibm;
    
    import java.rmi.RemoteException;
    
    public class TestCalculator {
     public static void main(String[] args) {
      try {
      CalculatorProxy proxy = new CalculatorProxy();
      Calculator calculator = proxy.getCalculator();
      ((javax.xml.rpc.Stub)calculator)._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,
       "xxxxxxxx");
      ((javax.xml.rpc.Stub)calculator)._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,
       "xxxxxxxx");
        proxy.setEndpoint("https://localhost:9449/Calculator/services/Calculator");System.setProperty("javax.net.ssl.trustStore", "%RAD installation root%/runtimes/base_v61/profiles/AppSrv02/config/cells/%Your cell name%/nodes/%Your node name%/trust.p12");System.setProperty("javax.net.ssl.trustStorePassword", "WebAS");	System.setProperty("javax.net.ssl.keyStore", "%RAD installation root%/runtimes/base_v61/profiles/AppSrv02/config/cells/%Your cell name%/nodes/%Your node name%/key.p12");System.setProperty("javax.net.ssl.keyStorePassword", "WebAS");		System.setProperty("java.protocol.handler.pkgs", "com.ibm.net.ssl.internal.www.protocol");
        System.out.println("2 + 2 = " + proxy.add(2, 2));
        System.out.println("2 - 2 = " + proxy.subtract(2, 2));
        System.out.println("4 * 2 = " + proxy.multiply(4, 2));
        System.out.println("4 / 2 = " + proxy.divide(4, 2));
        System.out.print("4 / 0 = ");
        System.out.print(proxy.divide(4, 0));
    		} catch (DivideByZeroException e) {
          System.out.println("Error: can't divide by zero!");
    		} catch (RemoteException e) {
          e.printStackTrace();
    		}
    	}
    }
  2. Nhấn chuột phải vào TestCalculator.java, và chọn Run As > Java Application.
  3. Chuyển sang bàn điều khiển, và bạn sẽ thấy các kết quả đúng được hiển thị:
    Liệt kê 2. Kết quả đúng được hiển thị
    12-Nov-2007 10:31:10 PM com.ibm.ws.ssl.config.
      SSLConfigManagerINFO: ssl.disable.url.hostname.verification.CWPKI0027I
    2 + 2 = 4
    2 - 2 = 0
    4 * 2 = 8
    4 / 2 = 2
    4 / 0 = Error: can't divide by zero!

Xin chúc mừng, bạn đã hoàn tất hướng dẫn này. Bạn làm tốt lắm!


Kết luận

Trong loạt bài hướng dẫn gồm ba phần này bạn đã học cách để xây dựng các dịch vụ web và các trình khách dịch vụ web, định cấu hình cho xác thực cơ sở HTTP và HTTPS bằng cách sử dụng Rational Application Developer V7 và máy chủ WebSphere Application Server V6.1. Bây giờ bạn có thể áp dụng các kỹ thuật này vào các ứng dụng thực của bạn!


Tải về

Mô tảTênKích thước
Solution in project interchange format1Part3Solution.zip59KB

Ghi chú

  1. Để nhập khẩu các giải pháp, bạn chọn File > Import > Other > Project Interchange.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=SOA và dịch vụ Web, Rational
ArticleID=427546
ArticleTitle=Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 3: : Định cấu hình cho HTTPS
publish-date=09112009