2013-10-16 3 views
6

सुबह तक मेरे एप्लेट में ठीक से काम कर रहा है। मैंने जावा अपडेट लिया और सबकुछ बंद हो गया। मैं एप्लेट का उपयोग कर डिजिटल सर्टिफिकेट से निपट रहा हूं। यहाँ मेरा स्टैक ट्रेस है। मैंने कुछ ऑरैकल लेख का पालन किया लेकिन काम नहीं किया।java.security.AccessControlException: एक्सेस अस्वीकार ("java.security.SecurityPermission" "authProvider.SunMSCAPI")

https://blogs.oracle.com/java-platform-group/entry/liveconnect_changes_in_7u45 http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#trusted_library http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html

Java Plug-in 10.45.2.18 
Using JRE version 1.7.0_45-b18 Java HotSpot(TM) Client VM 
User home directory = C:\Users\vicky.thakor 

java.security.AccessControlException: access denied ("java.security.SecurityPermission" "authProvider.SunMSCAPI") 
    at java.security.AccessControlContext.checkPermission(Unknown Source) 
    at java.security.AccessController.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPermission(Unknown Source) 
    at sun.plugin2.applet.AWTAppletSecurityManager.checkPermission(Unknown Source) 
    at sun.security.mscapi.KeyStore.engineLoad(KeyStore.java:755) 
    at sun.security.mscapi.KeyStore$MY.engineLoad(KeyStore.java:62) 
    at java.security.KeyStore.load(Unknown Source) 
    at SecurityApplet.initializeBrowserKeyStore(SecurityApplet.java:162) 
    at SecurityApplet.isCertificateInstalled(SecurityApplet.java:268) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at sun.plugin.javascript.Trampoline.invoke(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source) 
    at sun.plugin2.liveconnect.JavaClass$MethodInfo.invoke(Unknown Source) 
    at sun.plugin2.liveconnect.JavaClass$MemberBundle.invoke(Unknown Source) 
    at sun.plugin2.liveconnect.JavaClass.invoke0(Unknown Source) 
    at sun.plugin2.liveconnect.JavaClass.invoke(Unknown Source) 
    at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$DefaultInvocationDelegate.invoke(Unknown Source) 
    at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo.doObjectOp(Unknown Source) 
    at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

.java.policy फ़ाइल मैं एप्लेट का public void init() विधि में बना रहा हूं। एप्लेट में कुछ भी एक्सेस करने से पहले।

grant 
{ 
permission java.security.AllPermission; 
permission java.io.FilePermission "<<ALL FILES>>", "read"; 
permission java.io.FilePermission "<<ALL FILES>>", "write"; 
permission java.util.PropertyPermission "*", "read, write"; 
permission java.util.PropertyPermission "user.home", "read"; 
permission java.util.PropertyPermission "user.dir", "read"; 
permission java.lang.RuntimePermission "modifyThread"; 
permission java.lang.RuntimePermission "*"; 
}; 

अद्यतन: 18th Nov, 2013

इसका काम नहीं कर भी कोड हस्ताक्षर प्रमाण पत्र

enter image description here

+0

मैं भी stackoverflow धागे का पालन किया लेकिन कुछ भी काम कर रहा है ... –

+0

मैं '.pfx' के साथ अपने प्रमाण पत्र पर हस्ताक्षर किए फ़ाइल और सत्यापित किया। लेकिन यह काम नहीं कर रहा है ... –

+0

@AndrewThompson मैंने Thawte द्वारा जारी कोड हस्ताक्षर प्रमाणपत्र के साथ अपने एप्लेट पर हस्ताक्षर किए लेकिन अभी भी यह काम नहीं कर रहा है। अद्यतन प्रश्न की जांच करें। –

उत्तर

1

का उपयोग कर अगर मैं टिप्पणी नहीं कर सकता अभी तक ऐसा करने के बजाय एक जवाब के रूप में इस डाल रहा हूँ ।

  1. मैं अपने एप्लेट में .java.policy फ़ाइल बनाने विश्वास बहुत देर हो चुकी हो जाएगा - प्लगइन पहले से ही शुरू कर दिया है जाएगा और अपने कोड के किसी भी चलाने से पहले नीति फ़ाइलों को पढ़ने के।

  2. आप अपने एप्लेट हस्ताक्षर कर सकते हैं और एक jnlp फ़ाइल का उपयोग सुरक्षा तत्व में अनुमतियां देने

+0

मैंने एप्पल पर हस्ताक्षर किए और 'MANIFEST.MF' फ़ाइल में अनुमति विशेषता सेट की लेकिन काम नहीं कर रहा। –

संबंधित मुद्दे