Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Tìm hiểu cách tạo các trình cắm thêm đã ký trong Eclipse và IBM Lotus Expeditor Xing Xing Li ([email protected]) Kỹ sư phần mềm IBM 23 10 2009 An ninh là một vấn đề quan trọng khi cài đặt một gói các tính năng mới vào phần mềm. Tìm hiểu về công nghệ chữ ký được nền tảng Eclipse sử dụng để xác định độ tin cậy của các trình cắm thêm (plug-in). Eclipse sắp xếp mỗi trình cắm thêm vào một trong năm thể loại: chưa ký hay đã ký, tin cậy hay không tin cậy hoặc đã hết hạn. Hãy tìm hiểu cách tạo các trình cắm thêm đã ký trong Eclipse và IBM® Lotus® Expeditor (công cụ cho phép các nhà phát triển phần mềm có thể tạo ra các ứng dụng trên các thiết bị cầm tay), một sản phẩm dựa trên Eclipse. Bài viết này mô tả chữ ký của các trình cắm thêm Eclipse, ứng dụng của nó và chiến lược thử nghiệm được hệ thống cung cấp cho khách hàng IBM Lotus Expeditor sử dụng, hệ thống này được sử dụng để điều khiển truy cập mã vào các trang web cập nhật Eclipse tại chỗ hoặc từ xa. Chữ ký là một cơ chế không thể thiếu cho các chức năng bảo mật của Eclipse. Khi đang tải trình cắm thêm, người sử dụng Eclipse có cơ hội để xác nhận chữ ký của tệp JAR, được đăng trên trang web cập nhật. Điều này cho phép người dùng nhận được thông tin đáng tin cậy về mã mà người dùng sẽ cài đặt. Chức năng này cho phép người dùng xác định những ai xuất bản mã và xác minh xem phần mềm này đã không bị thay đổi kể từ lúc nó đã được tải lên trang web cập nhật. IBM Lotus Expeditor/Lotus Notes® áp dụng cơ chế bảo mật này bằng cách sử dụng thành phần của trình quản lý cập nhật (Update Manager) của nó để phân phát việc kiểm tra chữ ký cho người sử dụng. Điều kiện cần trước Để nhận được nhiều nhất trong bài viết này, bạn cần một môi trường phát triển Eclipse và mã mẫu. Nếu bạn vẫn chưa có Eclipse, hãy tải xuống phần sau đây: Java 2 Standard Edition Java® 2 Standard Edition V5 hoặc cao hơn có sẵn từ Sun Microsystems. Eclipse Tìm nền tảng Eclipse tại Dự án Eclipse. Để thử nền tảng thử nghiệm khác, tải về IBM Lotus Expeditor V6.1.x, nhưng đây là tùy chọn. © Copyright IBM Corporation 2009 Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Nhẫn hiệu đăng ký Trang 1 của 18 developerWorks® ibm.com/developerWorks/vn/ Xem Tài nguyên với Eclipse và JDK Java. Tìm mã thí dụ trong phần Tải về section. Nền Các trình cắm thêm Eclipse rơi vào một trong năm loại chữ ký số: Trình cắm thêm chưa ký (Unsigned plug-in) Theo mặc định, tất cả các trình cắm thêm do Eclipse tạo ra là chưa ký. Trình cắm thêm đã ký (Signed plug-in) Nếu một trình cắm thêm chưa ký được ký, thì được gọi là một trình cắm thêm đã ký. Trình cắm thêm tin cậy (Trusted plug-in) Nếu một trình cắm thêm đã ký có một chữ ký đáng tin cậy, thì Eclipse khi chạy sẽ tin cậy trình cắm thêm này. Vì vậy, nó là một trình cắm thêm tin cậy. Trình cắm thêm không tin cậy (Untrusted plug-in) Trình cắm thêm này được ký bằng một chữ ký không tin cậy. Trình cắm thêm hết hạn (Expired plug-in) Tất cả các trình cắm thêm đã ký có thời hạn hợp lệ. Một trình cắm thêm hết hạn là một trình cắm thêm được gói trong tệp JAR, đã được ký, nhưng chứng chỉ được sử dụng để ký tệp JAR đã hết hạn. Hình 1. Các thể loại trình cắm thêm Kịch bản thực hiện và thử nghiệm Hãy tìm hiểu cách tạo một trình cắm thêm với các chữ ký chưa được ký, không tin cậy hoặc hết hạn của Eclipse, Keytool và Jarsigner, sau đó xác minh chúng trong thời gian chạy của Eclipse và thời gian chạy của IBM Lotus Expeditor. Hãy bắt đầu với một trình cắm thêm chưa ký. Tính năng chưa ký Theo mặc định, một trình cắm thêm được một IDE (như Eclipse) tạo ra là một trình cắm thêm chưa ký. Ví dụ, chúng ta tạo một trình cắm thêm chưa ký theo các bước sau: 1. Nhấn File > New > Project> Plug-in Development > Plug-in project và nhấn Tiếp theo (Next). Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 2 của 18 ibm.com/developerWorks/vn/ developerWorks® 2. Nhập HelloWorld vào trường tên dự án, chấp nhận giá trị mặc định khác và nhấn Next. 3. Nhấn vào nút Next trong trang trình thủ thuật tiếp theo đối với Nội dung của trình cắm thêm (Plug-in Content). 4. Chọn HelloWorld và nhấn vào nút Finish trong trang Trình thủ thuật khuôn mẫu. 5. Nhấn File > New > Project> Plug-in Development > Feature project, sau đó nhấn Next. 6. Nhập HelloWorld.feature vào trường Project name (tên dự án), chấp nhận mặc định khác và nhấn Next. 7. Chọn trình cắm thêm HelloWorld mà bạn vừa tạo trong trang trình thủ thuật Các trình cắm thêm và các đoạn tham chiếu (Referenced Plug-ins and Fragments) và nhấn vào Kết thúc (Finish). 8. Nhấn File > New > Project> Plug-in Development > Update Site project và nhấn Next. 9. Nhập HelloWorld.updatesite vào trường tên dự án, chấp nhận mặc định khác và nhấn Finish. 10. Nhấn vào nút Add Feature (Thêm tính năng), chọn HelloWorld.feature và nhấn OK. 11. Nhấn Build để tạo tệp của trang web cập nhật trong hệ thống tệp tại chỗ của bạn. 12. Xác minh trang web cập nhật dự kiến đã được tạo ra trong vùng làm việc của bạn. Sử dụng 12 bước ở trên, chúng ta đã tạo ra một trình cắm thêm mẫu HelloWorld, một tính năng HelloWorld và một trang web cập nhật HelloWorld để đóng gói chúng. Hình 2. Các thể loại trình cắm thêm Hãy xác minh nhận dạng của nó bằng cách sử dụng Eclipse Update Manager (Trình quản lý Eclipse) theo các bước sau: 1. Nhấn Help > Software Update > Find and Install. 2. Chọn Search for new feature to install (Tìm kiếm tinh năng mới để cài đặt) và nhấn Next. 3. Nhấn vào nút New Local Site, chuyển hướng đến trang web cập nhật HelloWorld và nhấn OK. 4. Nhấn Finish. Chúng ta sẽ nhận được một thông báo tính năng chưa ký ("unsigned feature") để báo cho ta biết tính năng này không được trang bị chữ ký và không thể xác minh được nhà cung cấp của nó. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 3 của 18 developerWorks® ibm.com/developerWorks/vn/ Hình 3. Xác minh một trình cắm thêm chưa ký trong Eclipse IBM Lotus Expeditor, một nền tảng dựa trên Eclipse mạnh mẽ, sẽ hiển thị một thông báo nhắc nhở tương tự nếu chúng ta thực hiện cùng các bước cài đặt với cùng một trình cắm thêm. Người dùng có thể chọn từ chối hay chấp nhận một trình cắm thêm như vậy bằng cách nhấn vào các nút tròn, đang hiển thị bên dưới. Hình 4. Kịch bản kiểm tra xác minh một trình cắm thêm chưa ký IBM Lotus Expeditor Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 4 của 18 ibm.com/developerWorks/vn/ developerWorks® Tính năng chưa ký Mục đích của tính toàn vẹn mã là để xác định rằng một trình cắm thêm chưa bị sửa đổi trước khi nó được cài đặt. Để đáp ứng mục đích này, chúng ta sẽ sử dụng hai tiện ích: Keytool và Jarsigner. Công cụ khóa (Keytool) là công cụ dòng lệnh được sử dụng để quản lý các khóa và các chứng chỉ. Một chứng chỉ là một câu lệnh số đã ký của một thực thể (người, công ty, máy tính, chương trình, v.v), nói rằng khóa công khai (và một số thông tin khác) của một số thực thể khác có giá trị đặc biệt. Keytool hiện sử dụng chứng chỉ X.509. Các phần tử trong các chứng chỉ X.509 gồm Phiên bản, Chu kỳ hợp lệ, Tên chủ thể (Tên chung, Đơn vị tổ chức, Tổ chức và Quốc gia), v.v. Các phím và các chứng chỉ được lưu trữ trong một cái gọi là kho khóa (keystore), thực ra là một tệp. Nó bảo vệ khóa riêng bằng mật khẩu. Jarsigner là một tiện ích khác được sử dụng để ký các tệp JAR và xác minh các chữ ký như vậy. Để xác minh chữ ký số hiện có trong một tệp JAR, Jarsigner sẽ lấy chứng chỉ đi kèm với các tệp JAR quan tâm, sau đó kiểm tra xem khóa công khai của chứng chỉ đó có đáng tin cậy dựa trên kho khóa cụ thể. Chúng ta sẽ sử dụng các chức năng ký và xác minh của Jarsigner trong bài viết này. Trước tiên, chúng ta sẽ sử dụng Keytool để tạo ra một kho khóa, trong đó sẽ có một cặp khoá (khoá công khai và khóa riêng). Chạy lệnh sau đây. Liệt kê 1. Tạo một kho khóa keytool -genkey -dname "cn=Li Xing Xing, ou=CDL, o=IBM, c=CN" -alias business -keypass key123 -keystore C:\keystore\mykeystore -storepass store123 -validity 180 Lệnh này thực hiện như sau: • Nó tạo ra một tệp kho khóa có tên là mykeystore trong thư mục C:\keystore và gán mật khẩu là store123 cho kho khóa này. Kiểu kho khóa là jks theo mặc định. • Nó tạo ra một cặp khóa công khai/khóa riêng cho thực thể có các giá trị Tên riêng (Distinguished Name) như sau "Li Xing Xing" cho tên chung, "CDL" cho đơn vị tổ chức, "IBM" cho các tổ chức và "CN" cho quốc gia. Mật khẩu key123 được gán cho khóa riêng. Sẽ có một điểm vào chứa trong kho khóa, nó có tên là "business". • Nó sử dụng thuật toán tạo khóa DSA mặc định và tạo ra hai khóa dài 1024 bit, độ dài mặc định. • Nó sử dụng một thuật toán chữ ký mặc định, SHA1 với DSA, để tạo ra một chứng chỉ tự ký hợp lệ trong 180 ngày. Do đó, một tệp có tên mykeystore sẽ được tạo ra trong thư mục đích. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 5 của 18 developerWorks® ibm.com/developerWorks/vn/ Hình 5. Mykeystore được tạo ra Sau khi chúng ta đã tạo ra một chứng chỉ tự ký, chúng ta sẽ ký vào tệp feature.jar và plugin.jar với nó bằng cách phát hành các lệnh Jarsigner tiếp sau, như thấy trong Liệt kê 2 và 3. Ở đây, chúng ta sử dụng nhiều chức năng ký của Jarsigner bằng định dạng lệnh jarsigner [options] jar-file alias. Trong các trường tùy chọn, chúng ta đã tạo ra vị trí tệp kho khóa, mật khẩu kho khóa và mật khẩu của khoá riêng. Liệt kê 2. Ký tệp JAR tính năng jarsigner -keystore C:\keystore\mykeystore -storepass store123 -keypass key123 C:\workspace\HelloWorld.update\features\HelloWorld.feature_1.0.0.jar business Liệt kê 3. Ký tệp JAR trình cắm thêm jarsigner -keystore C:\keystore\mykeystore -storepass store123 -keypass key123 C:\workspace\HelloWorld.update\plugins\HelloWorld.feature_1.0.0.jar business Do tính hợp lệ là 180 ngày, bạn sẽ nhận được trả lời cho biết chứng chỉ bên ký này sẽ hết hiệu lực sau sáu tháng, như thấy ở dòng cuối cùng lặp lại ở Hình 6 và 7. Hình 6. Trả lời việc ký một tệp JAR tính năng Hình 7. Trả lời việc ký một tệp JAR trình cắm thêm Bạn có thể tò mò muốn hiểu điều gì đã xảy ra với tệp JAR tính năng và tệp JAR trình cắm thêm của bạn bằng cách chạy hai lệnh ở trên. Mở các thư mục META-INF trong cả hai tệp HelloWorld.feature_1.0.0.jar và HelloWorld_1.0.0.jar và bạn sẽ tìm thấy hai tệp được thêm vào — cụ thể là BUSINESS.SF và BUSINESS.DSA — như trong Hình 8. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 6 của 18 ibm.com/developerWorks/vn/ developerWorks® Hình 8. BUSINESS.DSA và BUSINESS.SF trong META-INF Như là một vấn đề của thực tế, sự khác biệt giữa một trình cắm thêm chưa ký và một trình cắm thêm đã ký là hai tệp: .SF và .DSA. Chúng ta hãy nghiên cứu tệp BUSINESS.SF đầu tiên. Đây là tệp chữ ký cho file JAR, trong đó thông tin được trình bày như là một cặp giá trị-tên theo chuẩn RFC822. Mỗi bên ký được đại diện bởi một tệp chữ ký có phần mở rộng .SF. Lối vào phần chính, x-Phân loại-Bảng kê-Chính-Các thuộc tính (x-Digest-Manifest-Main-Attributes) (trong đó x là một thuật toán phân loại, như SHA1), chứa giá trị phân loại cho các thuộc tính chính của bảng kê. Dữ liệu nhúng như vậy được đại diện là Base64, một công nghệ phổ biến để mã hóa và vận chuyển các byte 8-bit khi sử dụng Internet. Bảng 1 liệt kê nội dung thí dụ mẫu của các tệp BUSINESS.SF trong tệp JAR tính năng và tệp JAR trình cắm thêm của bạn. Thông tin Phiên bản, thuật toán chữ ký, JVM và phân loại được cung cấp ở đó. Bảng 1. Các tệp BUSINESS.SF trong tệp JAR tính năng và tệp JAR trình cắm thêm Tệp JAR tính năng Phiên bản chữ ký: 1.0 SHA1-Digest-Manifest-Main-Attributes: wo/L6RyS5cmXUyjSULsCmbi// pc= Được tạo ra bởi: 1.5.0 (Tập đoàn IBM) SHA1-Digest-Manifest: Hw4sDi+lK9Lk+yxEsiIBU4k8fdQ= Tên: feature.xml SHA1-Digest: OOwzec1mVb8PGpLLjSy52QfDiR4= Tệp JAR trình cắm thêm Phiên bản chữ ký: 1.0 SHA1-Digest-Manifest-Main-Attributes: Njf5Vhqe3paGaU+YpcW3RRd +nCg= Được tạo ra bởi: 1.5.0 (Tập đoàn IBM) SHA1-Digest-Manifest: 2I/i8WO/wARcxqiOcs1ukjmquhA= Tên: helloworld/Activator.class SHA1-Digest: fHk5c6yYAWPNvgZYLAENX/00axE= Ngược lại, tệp BUSINESS.DSA, một tệp chữ ký nhị phân, có thể là khó hiểu. Tệp khối chữ ký này lưu trữ chữ ký số của tệp chữ ký tương ứng. Như bạn thấy, các tệp BUSINESS.DSA và BUSINESS.SF chia sẻ cùng tên tệp cơ sở, với các mở rộng khác nhau. Trên thực tế, .RSA và .PGP là các tùy chọn khác cho tên mở rộng của một tệp nhị phân chữ ký, tùy thuộc vào các thuật toán khác nhau được sử dụng. Hình 9 thể hiện nội dung chứa trong một tệp BUSINESS.DSA, với một số thông tin khả đọc được chuyển từ trình xử lí văn bản (chúng ta sử dụng UltraEdit). Điều đó có nghĩa là bạn chỉ có thể bẻ khóa (crack) một vài chuỗi bằng chữ, như "CN", "IBM", "Lotus Expeditor" và "Li Xing Xing". Nhưng bạn không thể tiết lộ toàn bộ hình ảnh. Đó là sự kỳ diệu của chữ ký. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 7 của 18 developerWorks® ibm.com/developerWorks/vn/ Hình 9. Nội dung BUSINESS.DSA Chúng ta có thể xác nhận tính hợp lệ chữ ký trong một tệp JAR của trình cắm thêm đã ký bằng một lệnh jarsigner -verify trước khi chúng ta cài đặt nó vào một sản phẩm bất kỳ. Chạy lệnh sau đây đối với tệp JAR trình cắm thêm đã ký của bạn và nhận được trả lời của bạn, như trong Hình 10. Các tùy chọn -verbose và -certs sẽ hiển thị kết quả đầu ra dài và chứng chỉ trong thời gian xác minh. Liệt kê 4. Liệt kê 4. Xác minh tệp JAR trình cắm thêm đã ký bằng lệnh Jarsigner jarsigner -keystore C:\keystore\mykeystore âstorepass store123 âverify âverbose âcerts C:\workspace\HelloWorld.update\plugins\HelloWorld_1.0.0.jar Hình 10. Xác minh chữ ký trình cắm thêm bằng lệnh Jarsigner Thông tin cơ bản và thông tin hết hạn về chữ ký trong tệp HelloWorld_1.0.0.jar sẽ được liệt kê và được xác minh khi bạn sử dụng lệnh Jarsigner để xác minh chủ đề. Bây giờ cố gắng cài đặt trang web cập nhật được nhúng với trình cắm thêm đã ký. Bạn sẽ được thông báo rằng "Bạn sắp cài đặt một tính năng đã ký" với các chi tiết của chứng chỉ tự ký được trình bày, như trong Hình 11. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 8 của 18 ibm.com/developerWorks/vn/ developerWorks® Hình 11. Kịch bản thử nghiệm để xác minh một trình cắm thêm đã ký kết trong Eclipse Những người dùng tin tưởng một trình cắm thêm đã ký nhiều hơn một trình cắm thêm chưa ký. Khi một trình cắm thêm đã ký như vậy đang được cài đặt trong IBM Lotus Expeditor, một hộp thoại nhắc nhở tương tự sẽ bật lên để nhắc người dùng biết có ba đáp ứng để chọn. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 9 của 18 developerWorks® ibm.com/developerWorks/vn/ Hình 12. Kịch bản thử nghiệm để xác minh một trình cắm thêm đã ký kết trong IBM Lotus Expeditor Chứng chỉ trình bày chi tiết — Phiên bản (Version), Được cấp bởi (Issued by), Được cấp cho (Issued to) and và thuật toán chữ ký (Signature Algorithm)— sẽ được liệt kê nếu bạn nhấn vào View Certificate Details (Xem các chi tiết chứng nhận), như trong Hình 13. Chúng ta nghĩ IBM Lotus Expeditor cung cấp thêm thông tin để biện hộ cho sự tin tưởng vào trình cắm thêm từ người sử dụng. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 10 của 18 ibm.com/developerWorks/vn/ developerWorks® Hình 13. Chi tiết về chứng chỉ của chữ ký trong một trình cắm thêm đã ký Tính năng đã ký nhưng hết hạn Với thông tin trong Hình 11, chúng ta biết hiệu lực của chứng chỉ tự ký là ngày 13 tháng Hai năm 2009. Nếu chúng ta thay đổi thời gian trong hệ điều hành của chúng ta thành ngày 14 tháng 2 năm 2009, như chỉ ra trong Hình 14, trình cắm thêm đã ký sẽ trở thành một trình cắm thêm hết hạn vì "CHỨNG CHỈ ĐÃ HẾT HẠN" (EXPIRED CERTIFICATE) của nó. Hình 14. Thay đổi thời gian hệ thống trong hệ điều hành của bạn Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 11 của 18 developerWorks® ibm.com/developerWorks/vn/ Bây giờ chúng ta có thể sử dụng một lệnh Jarsigner để xác minh chữ ký để tìm ra kết quả đã ký, nhưng, không may, kết quả đã hết hạn. Xin hãy chú ý đến câu cuối cùng trong Hình 15. Hình 15. Xác minh một chữ ký đã hết hạn trong một trình cắm thêm bằng một lệnh Jarsigner Khi bạn cố gắng cài đặt trình cắm thêm này vào quá trình chạy Eclipse bằng cách sử dụng trình quản lý cập nhật, Eclipse sẽ cho bạn biết rằng tính năng này đã được ký, nhưng mà nó đã hết hạn, như trong Hình 16. Đó là vì Eclipse đã phát hiện ra rằng ngày hiện tại trong hệ điều hành (02-14-2009) đã vượt ra ngoài phạm vi hiệu lực (02-13-2009). Do đó, "EXPIRED CERTIFICATE " được tô đậm, trong đó cảnh báo người sử dụng về các rủi ro có thể. Tuy nhiên, người sử dụng vẫn có thể chấp nhận và cài đặt trình cắm thêm bằng cách nhấn vào nút Install hoặc Install All, mặc dù hiệu lực của các trình cắm thêm đã hết hạn. Đó là sự lựa chọn của người dùng. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 12 của 18 ibm.com/developerWorks/vn/ developerWorks® Hình 16. Kịch bản thử nghiệm để xác minh một trình cắm thêm đã hết hạn trong Eclipse Hình 17 thể hiện sự thông báo tương tự của một chứng chỉ đã hết hạn cho một trình cắm thêm, sẽ được bỏ đi khi bạn cài đặt một trình cắm thêm như vậy vào trong IBM Lotus Expeditor. Hình 17. Kịch bản thử nghiệm để xác minh trình cắm thêm đã hết hạn trong IBM Lotus Expeditor Kết luận IDE Eclipse và IBM Lotus Expeditor áp dụng có hiệu quả cơ chế bảo mật chữ ký trong các hệ thống con cung cấp của chúng bằng cách tăng cường mức độ an ninh mã khi nó được dùng cho máy tính Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 13 của 18 developerWorks® ibm.com/developerWorks/vn/ để bàn của người dùng. Bài viết này đã nghiên cứu các yếu tố cần thiết của cơ chế chữ ký của trình cắm thêm, bao gồm các thể loại, việc tạo mới và các chiến lược xác minh của nó. Các trình cắm thêm thí dụ (chưa ký, đã ký và đã hết hạn) mà bài viết này giới thiệu có thể được chuyển tới một sản phẩm dựa trên Eclipse khác mà cần được xác minh bảo mật. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 14 của 18 ibm.com/developerWorks/vn/ developerWorks® Các tải về Mô tả Tên Kích thước Sample code os-eclipse-pluginsigsSigned_HelloWorld.update.zip 8KB Sample code os-eclipse-plugin-sigsUnsigned_HelloWorld.update.zip 3KB Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 15 của 18 developerWorks® ibm.com/developerWorks/vn/ Tài nguyên Học tập • Bài học: Mã ký tên và cấp phép cho nó giải thích cách sử dụng các tiện ích để ký tên các tệp JAR của bạn. • Bài học: Tạo và Xác minh các chữ ký giới thiệu các khái niệm cơ bản về chữ ký số bằng cách lập trình API. • Keytool — Công cụ quản lý Khóa và Chứng chỉ đưa ra một sự mô tả chi tiết về cách sử dụng keytool. • Jarsigner — Công cụ ký tên và xác minh JAR cho thấy cách sử dụng tiện ích Jarsigner để ký và xác minh các chữ ký. • Bài viết "PDE Does Plug-ins" của Eclipse Foundation cung cấp một sự mô tả về cách phát triển các ứng dụng trong PDE của Eclipse. • Hãy có hiểu biết ngắn gọn về IBM Lotus Expeditor V6.1.x, một sản phẩm dựa trên Eclipse, tại IBM Lotus Expeditor V6.1.x Infocenter. • Đừng bỏ lỡ "Đóng nhãn ứng dụng RCP Eclipse của bạn" và "Hiểu cơ chế quản lý bó mới của Eclipse." • Xem "Danh sách khuyến khích đọc Eclipse." • Duyệt tất cả nội dung Eclipse trên developerWorks. • Bạn là người mới đến với Eclipse? Đọc bài viết "Hãy bắt đầu với Eclipse Platform" của developerWorks để tìm hiểu nguồn gốc và kiến trúc của nó và cách mở rộng Eclipse với các trình cắm thêm. • Mở rộng các kỹ năng Eclipse của bạn bằng cách xem nguồn tài nguyên dự án Eclipse developerWorks của IBM. • Để nghe các cuộc phỏng vấn và các cuộc thảo luận thú vị với các nhà phát triển phần mềm, hãy xem developerWorks podcasts. • Theo sát với các sự kiện kỹ thuật và webcast của developerWorks. • Xem và tìm hiểu về IBM và các công nghệ mã nguồn mở và các chức năng sản phẩm với các chương trình giới thiệu theo yêu cầu của developerWorks miễn phí. • Xem các hội nghị sắp tới, các cuộc triển lãm thương mại, webcast và Các sự kiện trên thế giới đang được các nhà phát triển mã nguồn mở của IBM quan tâm. • Truy cập vào Lĩnh vực mã nguồn mở của developerWorks với các thông tin hướng dẫn rộng lớn, các công cụ và cập nhật dự án để giúp bạn phát triển với các công nghệ mã nguồn mở và sử dụng chúng với các sản phẩm của IBM. Lấy sản phẩm và công nghệ • Tìm hiểu và tải IBM Lotus Expeditor V6.1.x để hoàn thành các kịch bản thử nghiệm trong bài viết IBM Lotus Expeditor: Desktop integration framework to accelerate customer care. • Xem các bản tải công nghệ Eclipse mới nhất tại alphaWorks của IBM. • Tải về Eclipse Platform và các dự án khác từ Quỹ Eclipse. • The Java 2 Standard Edition V5 hoặc mới hơn từ trang web của Sun Microsystems. • Tải về các phiên bản đánh giá sản phẩm của IBM và nhận các công cụ phát triển ứng dụng thực hành của bạn và các sản phẩm phần mềm trung gian từ DB2®, Lotus®, Rational®, Tivoli® và WebSphere®. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 16 của 18 ibm.com/developerWorks/vn/ developerWorks® • Đổi mới dự án phát triển nguồn mở tiếp theo của bạn với phần mềm dùng thử IBM, có sẵn để tải xuống hoặc trên đĩa DVD. Thảo luận • Các nhóm tin nền tảng Eclipse là bước dừng chân đầu tiên của bạn để thảo luận các câu hỏi về Eclipse. (Chọn phần này sẽ khởi chạy ứng dụng đọc tin Usenet mặc định của bạn và mở eclipse.platform). • Các nhóm tin Eclipse có nhiều nguồn tài nguyên cho những người đã quan tâm đến việc sử dụng và mở rộng Eclipse. • Tham gia vào developerWorks blogs và dành tâm trí cho cộng đồng developerWorks. Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 17 của 18 developerWorks® ibm.com/developerWorks/vn/ Đôi nét về tác giả Xing Xing Li Xing Xing Li gia nhập Phòng thí nghiệm phát triển phần mềm Trung Quốc của IBM ở Bắc Kinh, Trung Quốc vào năm 2004 với tư cách là một kỹ sư phần mềm của IBM Lotus. Anh tập trung vào việc phát triển phần mềm và thử nghiệm trên nền tảng Eclipse và các công nghệ Java. Anh cũng quan tâm đến việc thiết kế giao diện người dùng, mẫu thiết kế và nghiên cứu thuật toán. Anh nhận bằng thạc sĩ về khoa học máy tính từ Đại học Trùng Khánh. © Copyright IBM Corporation 2009 (www.ibm.com/legal/copytrade.shtml) Nhẫn hiệu đăng ký (www.ibm.com/developerworks/vn/ibm/trademarks/) Khám phá cơ cấu chữ ký của trình cắm thêm của Eclipse Trang 18 của 18