问题标签 [jca]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2004 浏览

ejb-3.0 - 在 Java EE (GlassFish) 中使用 Cassandra

我目前正在开发一个部署到 GlassFish 的企业应用程序。我试图找出从已部署到 GlassFish 3.1 的 EJB 中与 cassandra 后端通信的正确方法。我更喜欢使用 Pelops 与 Cassandra 交谈。

免责声明:我是 Java EE 以及企业应用服务器和 EJB 背后的概念的新手;该项目的目的之一是学习这些主题。这超出了这个问题的范围,因为我真的只是想为最佳实践指明正确的方向,或者我应该去哪里寻找最佳实践;到目前为止,谷歌在这个主题上的帮助/一致性不是很大。

更具体地说,我是否应该考虑为 cassandra 编写 JCA 连接器?使用通过 Pelops 与 cassandra 对话的单例 EJB?直接在我的 EJB 中使用 pelops?(尽管我认为您不应该在 ejbs 中创建套接字连接)完全是别的东西吗?

0 投票
1 回答
21811 浏览

java - 如何从 RSA Privatekey.pem 文件中获取 java.security.PrivateKey 对象?

我有一个 RSA 私钥文件 (OCkey.pem)。使用 java 我必须从这个文件中获取私钥。此密钥是使用以下 openssl 命令生成的。注意:我无法更改下面这个 openssl 命令的任何内容。

证书如下所示。

///////////////////////////////////////// /////////
bash-3.00$ less OCkey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,EA1DBF8D142621BF

BYyZuqyqq9+L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk+PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg==
-----END RSA PRIVATE KEY-----
///////////////////// //////////////////////////////////

以下是我尝试过的

但得到

“java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:无效的密钥格式”

请帮忙。

0 投票
1 回答
2823 浏览

java - 如何使用一些加密算法创建自己的安全提供者?

使用官方教程,我了解了 Java 密码体系结构的主要原则。但无论是官方还是互联网都没有给我任何关于创建自己的提供商和实施一些加密算法的独特之处。

我想知道是否有人可以给我一个简单的安全提供程序的源代码和/或该提供程序使用的某种算法的源代码。

总体而言主要目标是:一个提供者类(简单的,而不是像 SunJCE 那样复杂的)和一堆具有密码算法实现的类(或一个类) (所有它的 doFinal 和其他方法,无论实现类需要什么)

0 投票
1 回答
171 浏览

java - 如何通过java确保使用哪个私钥创建服务器证书

客户已使用下面的 openssl 命令创建了密钥和证书

所以他们给了我证书(OCcert.pem)和私钥(OCkey.pem)。

如何确保 OCcert.pem 是使用 Java 通过 OCkey.pem 创建的?
注意:我不能要求客户更改 ssl 命令。

请帮忙。

0 投票
2 回答
1853 浏览

java - TSP、OCSP 和 CMS 的 Java 实现

我正在尝试了解用于数字签名的 Java API。我应该使用自定义密码提供程序来组成数字签名。我知道如何使用此 CSP 签署文档并获得分离的签名,现在我需要在此签名中添加时间戳和证书状态(以使签名对政府机构有效)。这些事情是使用 TSP 和 OCSP 完成的。问题:

  1. 应该在哪里获得 TSP 客户端?
  2. 我对使用内置的 java OCSP 支持来验证证书就足够了吗?
  3. tsp 和验证信息是否与 CMS 有某种联系?
  4. 最后也是最有趣的:我应该如何处理时间戳信息和证书验证信息:它是分离文件还是签名的一部分?
0 投票
3 回答
2329 浏览

java - java jce/jca中如何设置消息认证码长度

我正在使用以下代码获取 AESCMAC

doFinal 将生成一个大小为 16 的字节数组,但我希望它为 8 个字节长。我看到有一个方法 getMacLength() 返回 16 但没有 setMacLength 方法。谢谢你的帮助

0 投票
0 回答
628 浏览

java - 了解 jca 1.6 中的 @ConnectionDefinitions 注解

我找不到显示在 ManagedConnectionFactory 实现上使用复数 @ConnectionDefinitions 的用例的示例。让我感到困惑的是,单一的 @ConnectionDefinition 注释不允许您为每个定义提供 @ConfigProperty。您只能使用 @ConfigProperty 为 ManagedConnectionFactory 的所有实例设置默认属性,并且每个连接定义必须使用不同的 ConnectionFactory 接口。所以假设你做了这样的事情:

createConnectionFactory() 如何知道返回 ConnectionFactory1 还是 ConnectionFactory2?除非有人通过 ra.xml 覆盖了注释,否则我认为没有办法使用配置属性作为条件。

似乎很难确定 ManagedConnectionFactory 是哪个连接定义的一部分,那么当您可以为每个 ConnectionFactory 设置单独的 ManagedConnectionFactory 时,为什么要这样做呢?

一个例子会很有帮助。

0 投票
1 回答
2083 浏览

java - Glassfish 3.1 ActiveMQ 和泛型消费消息

使用的技术。

  • 活动MQ 5.5.1
  • 玻璃鱼 3.1
  • 通用2.1

我在哪里;

  • 我已经安装并运行了 ActiveMQ
  • genericra 在 Glassfish 中配置和工作。我已经配置了连接器资源 (amqRes)、连接器连接池 (amqPool) 和管理对象资源 (amqQueue)。部署了 genericra 并配置了资源适配器配置。
  • 我可以从 Glassfish 中运行的应用程序向 activeMQ 队列发布消息。当我发布时,我可以在 activeMQ 管理控制台的队列中看到一个新条目。

我们正在使用其他 JMS 队列(在 glassfish 中),它们运行良好。

我遇到的麻烦是从 activeMQ 队列中获取消息。我编写了一个实现 javax.jms.MessageListener 的测试 @MessageDriven bean。它有一个简单的方法(onMessage),只输出消息。我不确定如何注册 MDB 以便它从 activeMQ 队列中获取消息。我已经看到了很多将条目放入 ejb-jar.xml、glassfish-ejb-jar.xml 或 sun-ejb-jar.xml 的示例——其中没有一个对我有用。当我查看 activeMQ 控制台时,我看不到我创建的队列的任何消费者。

我读过很多博客,但似乎错过了拼图的最后一块。

0 投票
0 回答
271 浏览

java - 更改 RA 的配置属性时,Glassfish 不会停止向 JCA 资源适配器注册的依赖应用程序

(几天前我已经在 glassfish 论坛上发布了这个,但还没有运气:-)

情况:我部署了一个通过 @ConfigProperty 注释配置的 JCA 资源适配器 (RA)。

我还部署了一个使用 RA 的应用程序。

现在我想通过创建资源适配器配置来通过管理控制台更改配置属性。现在,当我更改配置属性时,JCA 规范指出 RA 必须停止并重新启动。到目前为止,一切正常。

但规范还在第 5.3.4.1 章中说明了以下内容:

第一阶段

在调用 ResourceAdapter JavaBean 的 stop 方法之前,应用服务器必须确保所有使用特定资源适配器实例的依赖应用程序都停止。这包括停用所有通过特定资源适配器接收消息的消息端点。但是请注意,由于依赖应用程序通常在取消部署之前无法停止,因此应用程序服务器可能必须延迟停止资源适配器实例,直到所有此类依赖应用程序都取消部署。

如果我做对了,这意味着我的应用程序也应该停止(可能也重新启动),但这不会发生。这导致我同时部署了资源适配器和应用程序,但 RA 并不“知道”应用程序/消息端点。

现在我的问题是:这是一个错误还是我在这里错过了什么?

PS我的glassfish版本是3.1.1。资源适配器在JCA 1.6上运行。

0 投票
2 回答
691 浏览

java - 如何将数据从应用程序传递到 JCA 资源适配器?

我想配置一个自写的 JCA 1.6 入站资源适配器 (RA)。我的大问题是 RA 需要访问使用 RA 的应用程序中的一些(动态)配置数据。现在我知道这与整个 JCA 理念的最初理念背道而驰,但不幸的是,我无法按照我的意愿/必须尽快更改此设计。我需要到达 RA 的数据是

  • 它应该监听的端口,
  • 用于整个应用程序的许可证(RA 提供的功能需要额外的许可)
  • 存储在数据库中的附加配置数据

我提出了四个想法:

  1. 使用 asadmin create-resource-adapter-config。由于 glassfish 似乎不会根据 RA 重新启动应用程序,因此我们需要在此之后重新启动应用程序。虽然此尝试适用于端口,但不适用于其他数据。
  2. 使用受管对象为我的应用程序提供一种将数据传递到 RA 的方法。这里提到了这个想法。我想这样做了,但规范在第 13.4.2.3 章中指出

    请注意,管理对象不用于设置到消息端点的异步消息传递。ActivationSpec JavaBean 用于保存异步消息传递设置所需的所有必要激活信息。

    但是我无法将任何动态数据传递给 ActivationSpec 对象(既不是通过 DeploymentDescriptor 也不是通过注释)。还是我在这里错过了什么?:-)

  3. 直接使用 JDBC 来访问数据(也从这里得到了这个想法)。虽然这可能是最好的主意,但它不适用于上述许可数据,因为它不存储在数据库中。

  4. 我的最后一个想法是在 MessageDrivenBean(通过我的接口)中放置一个方法,用于从 RA 中获取数据。可以从 RA 调用该方法并提供数据。但是:我只是认为这是相当滥用的,因为它将 RA 与应用程序结合在一起。

亲爱的社区,您对此有何看法?恐怕要找到这些问题的答案并不容易,所以我会很高兴有意见!

谢谢和欢呼,朱利叶斯