当前位置: 首页 > 面试题库 >

对sun.security.pkcs11.SunPKCS11的访问限制

宋腾
2023-03-14
问题内容

我正在尝试设置用于访问智能卡的PKCS11提供程序。我在系统上安装了PKCS11库,并遵循了《Java
PKCS#11参考指南》中的说明
。在参考中,他们只是创建一个实例sun.security.pkcs11.SunPKCS11并将配置文件的名称传递给构造函数。当我尝试编译以下代码时

Provider p = new sun.security.pkcs11.SunPKCS11("pkcs11.cfg");
Security.addProvider(p);

我收到以下错误。

访问限制:由于必需的库/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/ext/sunpkcs11.jar受限制,无法访问构造函数SunPKCS11(String)

我究竟做错了什么?我在Ubuntu x86下使用带有Java SE 1.6的Eclipse 3.5。

最好的祝福。


问题答案:

查看项目的属性,然后打开Libraries选项卡。我假设您已将设置JRE System Library为执行环境。将其更改为工作区JRE或手动选择特定的JRE。

背景:通过选择一个执行环境,您表示要编写一个与Java
API兼容的应用程序。该类sun.security.pkcs11.SunPKCS11位于sun软件包中,该类将其标记为Sun
Java实施专有的,并且不是标准Java API的一部分。



 类似资料:
  • 我已经成功地部署了一个云函数,它对一些数据进行一些基本的预处理,并将其上传到gSheet 现在,触发器url接受未经验证的外部调用,如果url最终落入坏人之手,则会导致账单过多的风险。 我想知道是否有任何方法可以限制对IAM中的云调度器的调用,从而防止外部调用服务。 阅读周围的内容似乎在请求中包含一些标头并在函数中检查它可能是一种基本的强制执行方法基本的真实性。

  • 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 98) >>> bart.score 98 >>> bart.score = 59 >>> bart.sc

  • 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 59) >>> bart.score 59 >>> bart.score = 99 >>> bart.sc

  • 问题内容: 我尝试开发一种访问智能卡的javafx应用程序。 我有一个简单的概念证明,像这样: exepcion是: 问题答案: 只需在64位JDK的旁边(或相反)安装32位JDK,并确保使用32位版本编译并签名JAR / COD文件。 实际上,这是 64位 版本中的 错误 。http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=f1279f

  • 问题内容: 我试图在不重新创建存根的情况下编译由IBM的WSDL2Java在Java5上创建的Java 1.4代码,并在Eclipse中看到此错误。我的假设是,只要运行时jar可用(它们存在),生成的存根就应该编译。 完整的班级名称是 这到底是怎么回事?这是我要用香肠重构猪的情况吗?我最好重新创建存根吗? 问题答案: 还有另一个解决方案,也可以。 转到项目属性中的“ 构建路径”设置。 删除JRE系

  • 问题内容: 我在Eclipse中收到以下错误消息: 这是什么意思?在同一主题上还有另一个SO问题,但在这种情况下似乎不适用。我没有创建一个新的Java类,而是尝试使用一个。 问题答案: 猜测您正在使用的另一个库也需要Apache Commons I /O,但是版本不同。拥有一段代码(以传递方式)可以访问同一软件包的两个版本有些棘手。您可能可以安排它,以便您的代码和其他库使用相同的版本。使用CLAS