Jboss EAP 7 - REST API客户端的动态SSL身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jboss EAP 7 - REST API客户端的动态SSL身份验证相关的知识,希望对你有一定的参考价值。

我试图了解一些有关SSL证书及其签名的问题。

我的需求:我需要能够添加(生成?)客户端证书以允许他们使用我的API。

我的问题:如果更改了java信任库以便修改可用,似乎需要重新加载Wildfly。

我的理解:这是一个错误的问题方法,应该做的是以下几点:

  1. 从受信任的机构获取CA证书
  2. 将此证书添加到我的密钥库
  3. 使用该证书签署客户端证书

这样,只有我的CA证书需要在我的Java密钥库上,并且通过CA验证链,我的客户端才会被允许在我的服务上。

问题:

  1. 我做对了吗?
  2. 如果我应该签署我的客户证书,那么他们应该将签名发送给我的是什么?
  3. 这可以在不调用keytool实用程序的情况下完成吗?我想尽可能使用java来做到这一点,而不是依赖于操作系统。
  4. 如果我的CA证书来自受信任的机构,并且我使用它来签署我的客户端证书,那么这些仍然算作自签名证书?

感谢您提供的所有指示。

答案

好,

既然它可以帮助别人,我会把我的各种测试帮助我弄清楚。 :

  1. 我做对了吗?

据我所知:是的为什么我不确定呢?因为我的开发环境以及我无法拥有有效域的真实有效证书来测试它,因此我遇到了一些测试限制。

  1. 如果我应该签署我的客户证书,那么他们应该将签名发送给我的是什么?

因此,他们需要发送签名才能实现CSR(证书签名请求)及其公钥。

  1. 这可以在不调用keytool实用程序的情况下完成吗?我想尽可能使用java来做到这一点,而不是依赖于操作系统。

这应该是使用Bouncycastle库可行的。我正在使用应该因为我没有实施它,稍后会更多。

  1. 如果我的CA证书来自受信任的机构,并且我使用它来签署我的客户端证书,那么这些仍然算作自签名证书?

我仍然不清楚,但似乎证书签名上存在某种范围,阻止任何人伪造实际的CA.任何能够更加确定知识的人都欢迎。

我实际上最终做了什么:

作为我们自己的CA会有太大的障碍,所以我们实际要做的是让我们的客户从已知的CA获取他们的证书并将这些CA证书添加到我们的信任库。这与以前的原理相同,但我们将利用实际的CA来源,而不是我们在CA上玩。

希望这可以帮助那些有某种同等要求的人。

以上是关于Jboss EAP 7 - REST API客户端的动态SSL身份验证的主要内容,如果未能解决你的问题,请参考以下文章

在 JBoss 中保护 REST API

Jboss EAP 7 - 如何从部署中排除隐式模块(javax.jms)?

从Jboss EAP 6.4迁移到EAP 7.1

从 JBoss 7 EAP 中排除提供的 jackson 版本

如何为 Undertow / JBoss 7.2 EAP 重写 RewriteValve?

Jboss (6.4 EAP) 到 WebSphere (7.x)