Trang chủ » Diễn Đàn » Lập trình và Phát triển Web » Java » java.security.AccessControlException: access denied ?
Chủ đề đã bị khóa, bạn không thể xóa, sửa hay trả lời trong chủ đề này!
|
|
|---|
|
0
Tôi đang xây dựng một chương trình nhỏ, tích hợp trên web, sử dụng java applet. Chương trình của mình dùng để đưa ra các chứng thư số trong một token (smart card) đang kết nối vào máy tính.
Khi tôi build file jar, nhúng nó vào html và chạy trên command bằng appletviewer, một exception đã xuất hiện: java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11.wrapper java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11.wrapper)Vậy là câu lệnh của tôi: p11Getinstance = PKCS11.class.getMethod("getInstance", String.class, String.class, CK_C_INITIALIZE_ARGS.class, Boolean.TYPE);{/color}không đủ quyền để thực thi (như tôi hiểu là thế). Tôi đã thử tra cứu trên google , giải pháp mà tôi tìm kiếm được là bổ sung quyền hạn vào thư viện java: $(java_home)/jre/lib/security/java.policy như sau: grant{ .... permission java.lang.RuntimePermission "accessClassInPackage.sun.security.pkcs11"; permission java.util.PropertyPermission "java.home", "read"; permission java.security.SecurityPermission "authProvider.SunPKCS11-FeitianPKCS"; permission java.lang.RuntimePermission "createClassLoader"; permission java.lang.RuntimePermission "getClassLoader"; } hay thêm vào code: AccessController.doPrivileged(new PrivilegedAction() {Tuy nhiên, applet vẫn vướng ngoại lệ trên khi run lại. Ai đã từng gặp hay biết cách khắc phục không? |
|
|
|
0
Bạn chạy đoạn code của bạn ở ngoài môi trường Applet thì có bị ngoại lệ đó không đã? :-)
Theo Java API Doc, thì method mà bạn cần lấy phải là public thì mới getMethod được: http://download.oracle....api/java/lang/Class.html#getMethod%28java.lang.String,%20java.lang.Class...%29
---------
NBThanh Tutorial Room, cập nhật thường xuyên bài viết mới. Các bài viết mới cập nhật: - PHP - Lưu nội dung file ảnh vào CSDL NEW! - Làm việc với CSDL MySQL trong PHP - Học PHP qua ví dụ - Gởi email text, HTML, tiếng việt Unicode - Học PHP qua ví dụ - 1 chương trình download manager/giấu đường dẫn download - Học PHP qua ví dụ - Làm việc với Cookie và Session |
|
|
|
0
Cảm ơn bạn, tôi đã giải quyết được vấn đề. Tôi đã thêm quyền chưa chính xác, phải thêm vào file java.policy dòng lệnh là: java.lang.RuntimePermission "accessClassInPackage.sun.security.pkcs11.wrapper
hoặc là dùng codesigning tool và 1 chứng thư số để ký vào thư viện của mình! :D |
