2012-06-21 17 views
15

Chúng tôi có một Java applet cần chạy với sự tin tưởng đầy đủ.Java applet với chứng chỉ tự ký trên OS X Mountain Lion

Trong khi phát triển và trong quá trình thử nghiệm trước khi phát hành, chúng tôi ký tên bằng chứng chỉ tự ký (phiên bản sản xuất được ký với chứng nhận ký mã thực).

Nhưng khi chúng tôi cố gắng khởi động applet tự ký trên các tiền phát hành của OS X 10.8, chúng tôi không còn có thể chọn cho phép nó chạy. "Cho phép" -button chỉ đơn giản là vô hiệu hóa:

Disabled "Allow" button

Nếu tôi nhấn "Show Details ..." Tôi có thể chọn "Luôn tin tưởng" giấy chứng nhận, nhưng điều này làm cho không có sự khác biệt:

enter image description here

Nó hoạt động với cùng một phiên bản Java JRE trên OS X Lion 10.7, vì vậy tôi nghi ngờ đó là vấn đề với HĐH chứ không phải JRE.

Có cách giải quyết nào không?

Tôi không muốn sử dụng chứng chỉ ký mã thực để thử nghiệm: ký với chứng chỉ ký mã thực có nghĩa là công ty của tôi khẳng định rằng applet là an toàn và đáng tin cậy. Chúng tôi khó có thể khẳng định rằng trước khi chúng tôi thử nghiệm nó.

+0

* "Tôi không muốn sử dụng chứng chỉ ký mã thực để thử nghiệm." * Tôi muốn nếu mọi người đưa ra lý do cho các yêu cầu kỳ quái và có vẻ tùy ý. –

+2

@Andrew: Tôi đã thêm lý do cho yêu cầu này. –

+0

Cảm ơn, lý do đó không phải là kỳ lạ như tôi tưởng tượng. Câu hỏi hay. +1 BTW: 1) Bạn đã kiểm tra 'cơ sở dữ liệu lỗi' cho JRE đó chưa? 2) Ứng dụng có tương tác với JavaScript không? ([Appleteer] (http://pscode.org/appleteer/) có thể chạy các applet trong HTML đơn giản mà không có JS - nó không có hộp cát bảo mật). 3) Bạn có thể chạy một JRE khác trên hệ điều hành để thử nghiệm các applet không? –

Trả lời

14

Đây là tính năng bảo mật mới trong Mac OS X, theo mặc định, chỉ các ứng dụng từ Mac Store & từ nhà phát triển đáng tin cậy mới được phép chạy ở đó.Fortunatelly, rất dễ thay đổi, bạn phải cho phép điều này trong tùy chọn Mac OS X.

Chuyển đến Tùy chọn -> Bảo mật & Bảo mật và nhấp vào ổ khóa để cho phép thay đổi.

Sau đó, trong "Cho phép các ứng dụng được tải xuống từ", hãy chọn "Mọi nơi".

Sau đó, nút trong hộp thoại Java sẽ được bật.

Mac OS X Security & Privacy Preferences

+0

Hoàn hảo! Cảm ơn nhiều. –

+2

Khi tôi bật tùy chọn "AnyWhere", hành vi thay đổi, nhưng tôi vẫn nhận được hộp thoại báo lỗi: "Ứng dụng bị chặn bởi Cài đặt bảo mật" và "Cài đặt bảo mật của bạn đã chặn ứng dụng tự ký chạy". Ứng dụng này là một trong các ứng dụng mẫu JavaFX. Trên Mac OS X 10.9 Mavericks, Java 8. –

+0

những gì về trong mac? – Naeem

0

OS X Lion bạn có thể thêm chứng chỉ gốc dưới dạng chứng chỉ gốc đáng tin cậy bằng cách sử dụng công cụ Keychain Access được tích hợp sẵn. Tôi không có quyền truy cập OS X Mountain Lion nhưng tôi không biết liệu nó có hoạt động được trong Mountain Lion hay không, nhưng nó có vẻ đáng để thử. Các bước trong Lion là:

  • mở Keychain Access (nằm trong /Applications/Utilities)
  • Bấm file | nhập Items ...
  • Thay đổi Điểm đến Keychain để Hệ thống
  • Tìm tập tin chứng chỉ của bạn và nhấn Open
  • Nó sẽ nói "Bạn có muốn máy tính của bạn để tin tưởng chứng chỉ dấu bởi [...] từ giờ trở đi?". Nhấp vào Luôn tin tưởng.

Nếu bạn tạo chứng chỉ trực tiếp trong kho khóa Java thì có thể bạn không có tệp chứng chỉ độc lập. Bạn có thể dễ dàng export one using this guide from Oracle.

Tôi lưu ý rằng ảnh chụp màn hình của bạn cho biết "Chứng chỉ này được đánh dấu là đáng tin cậy cho tài khoản này", điều này rất tò mò vì tôi mong đợi điều đó có thể chấp nhận được. Có thể trong OS X Mountain Lion, người dùng đã thêm vào các chứng chỉ gốc bằng cách nào đó có trạng thái thấp hơn so với các chứng chỉ chính thức do Apple phân phối? Nếu bạn thấy rằng các bước trên không hiệu quả, bạn có thể thử thêm chứng chỉ của mình vào chuỗi khóa chính thức. Keychain Access sẽ không cho phép bạn làm điều đó, nhưng tôi tin rằng bạn có thể sử dụng mã được dựng sẵn certtool để chỉnh sửa thủ công keychain nằm ở /System/Library/Keychains/SystemRootCertificates.keychain để đạt được điều đó.

+0

Wow ... Tôi thực sự hy vọng anh ấy không triển khai điều này cho 1000 người thử nghiệm beta. –

+1

Tôi gặp sự cố này với một trong các ứng dụng mẫu JavaFX. Trên Mac OS X 10.9 Mavericks, Java 8. Tôi dường như không thể tìm thấy khóa mà nó đang sử dụng để "tự ký" ứng dụng hoặc nơi kho khóa có thể xuất khóa và nhập vào keychain. Bất kỳ ý tưởng? Trong khi đó tôi sẽ duyệt qua tất cả các kịch bản xây dựng kiến ​​..... –

5

Nếu bạn nhận được "Application Blocked by Security Settings" tin nhắn, bạn cần phải đi vào System Preferences: Java: Security và thể thêm trang web của bạn vào danh sách ngoại lệ hoặc giảm security level-Medium.