当前位置: 首页 > 知识库问答 >
问题:

OSGi中的JCE安全提供程序

於宾白
2023-03-14

JCA提供者提出的解决方案是将JAR放在jre/lib/ext文件夹中,但不是从那里加载的。据我所知,这是由于OSGi(Eclipse equinox)类加载器策略将bootstrap类加载器作为每个bundle类加载器的父类,从而排除了从jre/lib/ext文件夹加载的扩展类加载器。即。在jre/lib/ext文件夹中没有一个bundle可以看到任何东西。

是否有一种方法可以让Eclipse equinox加载注册为安全提供程序的jar,只加载一次,以便所有包或特定包都可以看到该提供程序?在这种情况下,可以容忍JCA库不通过OSGi卸载的事实。

共有1个答案

匡旭东
2023-03-14

您应该编辑系统包并从jca-custom.jar添加包。

您可以通过几种方式定义应该包括哪些包。

  • 为equinox创建一个配置文件并定义包。您可以在eclipse.osgi jar中找到每个jdk版本的示例。例如,查找javase-1.6.profile,并尝试找到条目org.osgi.framework.system.packages
  • 您可以在启动OSGi容器时将其定义为系统变量。系统变量相同:-dorg.osgi.framework.system.packages=package names用逗号分隔
 类似资料:
  • 问题内容: Sun的PKCS11 JCE安全提供程序缺少我们需要的某些功能。 因此,我使用原始资源编写了它的增强版本。 不幸的是,JCE基础结构拒绝新的提供者 “ JCE无法验证提供者”, 因为它没有正确签名。 抛出。 (呼叫) 关于如何签署新提供商以使其与JCE一起工作的任何建议? 问题答案: 该过程在文档“如何实现 提供者”中进行了描述。 它涉及到电子邮件 太阳向Oracle提供一些信息(包括

  • 我有一个使用bouncycastle库的Java applet。当我在Eclipse上运行应用程序时,一切正常,但当我在带有标记的浏览器上使用applet时,当我添加安全BouncyCastleProvider时,它会引发异常。 我的stackTrace是: 我正在使用bcpkix-jdk15on-1.48.jar和bcprov-jdk15on-1.48.jar版本的BouncyCastle。为什

  • 我们有我们的定制JCE安全提供商,它使用我们的智能卡进行加密操作。 当我们试图使用某些类,如Cipher、KeyAgreement、KeyGenerator、Mac或SecretKeyFactory时,就会出现问题。 Java抛出异常: 我在这里和这里读到,如果您试图使用自定义JCE安全提供程序进行加密,则必须对其进行签名。这是因为一些政府制定了一些有关密码的法律。 我还阅读了这篇文章:如何签署自

  • 问题内容: 我有一个JCE测试,可以与我尝试过的所有Sun JDK正常工作,但是对于各种IBM J9 JDK(例如1.6.0 build pwi3260sr8-20100409_01(SR8))却失败。在加密模式下初始化密码时,会发生以下例外情况。为什么IBM JCE不能使用其自己的私钥?我在代码中缺少什么吗? 这是堆栈跟踪: 问题答案: 我不确定这一点,但我相信JCE具有嵌入式策略,将对公钥的加

  • 在Java8中,我通过执行以下步骤全局注册了Bouncy Castle安全提供程序: null

  • 我的配置是: < li>Grails框架3.0.11 < Li > " org . grails . plugins:spring-security-core:3 . 0 . 3 " < Li > " org . grails . plugins:spring-security-oauth 2-provider:3 . 0 . 0-RC1 " 我已经指定了我的自定义用户详细信息服务(实现Grail