问题标签 [jscep]

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 回答
2989 浏览

java - Bouncycastle 提供程序和 Java SUN 提供程序互操作性问题

我在移动设备管理项目中使用 jscep。Jscep 使用充气城堡作为安全提供者,我在我的项目中也这样做了。我创建了一些简单的静态方法来使用 BC 创建证书。这些已经过测试并按预期工作。我的问题与 Java 安全提供程序有关。在下面的示例中,我创建了两个证书,一个 CA 和一个端点。

成功注册后,jscep 客户端返回 CertStore,但提供者设置为“SUN”。该存储包含上述两个证书的证书链。如果我验证 CertStore 中的证书并对照它通过的原件,但是如果我对照 CertStore 中的证书验证它会失败。更奇怪的是它并不总是失败 - 它有时会起作用。

但是,如果我将提供设置为“BC”,它总是有效的。原始证书始终正确验证,如下面的代码所示。此代码不使用 jscep,但会重现该问题。我在两个位置设置了提供程序,并在代码中添加了一些注释来说明不同提供程序设置的行为。

我会认为调用 Certificate.getEncoded() 会消除任何提供者的依赖。我遇到的问题是 Jscep 返回一个以“SUN”作为提供者的 CertStore,并且无法使用存储条目验证证书链。

请阅读以下评论;我现在明白了这个问题的确切性质。当 SUN 是提供者时,CertStore 中的顺序在测试的运行中是不一致的。

有没有办法保证订购?

非常感谢任何帮助。


调试输出运行 1(成功)


调试输出运行 2(失败)

0 投票
0 回答
301 浏览

ios - IOS8 SCEP 注册在第二次安装时失败

OTA 证书注册过程可根据需要多次在 IOS7 设备上运行。

基于相同 config/ca/signing cert 等的第二个证书安装的相关 IOS7 日志:

在 IOS8 下,初始注册和配置文件安装工作。但是,在任何后续注册中,都会引发以下错误:

当 SCEP 服务器向 IOS8 设备发送对 GetCaCert 的响应时发生错误,GetCaCert 是一个不会更改的静态 ca 证书。我还尝试在再次安装之前删除已安装的配置文件,但这不会改变观察到的行为。只有重置才能使配置文件安装成功。

有人有什么想法吗?

0 投票
0 回答
726 浏览

ios - 如何在 OS X Server App 中更改设备身份证书(SCEP 证书)的到期日期(适用于 Profile Manager)

现在我正在尝试测试“更新配置文件”按钮(设置>常规>配置文件>基于iOS 8.4的设备管理)以及设备身份证书(SCEP证书)过期后更新是否正常,如下所示。

更新配置文件按钮的屏幕截图

有效期截图

我验证了可以在第 3 方 SCEP 服务器中设置到期日期。但是我从 Mac OS X Server 的服务器应用程序中找不到任何到期日期(至少是当天)的设置。(SCEP功能与Server App结合)

在这种状态下,我必须等待一年才能完成设备注册。

我真的很想知道如何在源代码级别更改 SCEP 证书的到期日期。

有人可以告诉我怎么做吗?请帮我。

谢谢。

0 投票
1 回答
133 浏览

x509certificate - SCEP CertRep SUCCESS:响应中有多少证书?

我正在研究 SCEP 实施(请求者和授权者)。该项目使用 JScep 作为库。

在 PKCSReq 通信期间,客户端收到 CertRep SUCCESS。草案说如下:

+----------------+--------------------------------------------------+ | Request-type | Reply-contents | +----------------+--------------------------------------------------+ | PKCSReq | the reply MUST contain at least the issued | | | certificate in the certificates field of the | | | Signed-Data. The reply MAY contain additional | | | certificates, but the issued certificate MUST be | | | the first in the list. The reply MUST NOT | | | contain a CRL. All returned certificates MUST | | | conform to [RFC5280]. |

我对解释有点困惑MAY contain additional certificates

这是否意味着整个证书链将在响应中显示为Collection(JScep)?

0 投票
0 回答
74 浏览

java - 填写认证签名请求时如何在 Java EnhancedKeyUsage 中编码

我需要从 CA 服务器获取 X509Certificate

我需要添加一些 EnhancedKeyUsage 扩展,例如“secureEmail”-“1.3.6.1.5.5.7.3.4”

如何将其添加到证书请求中?

以下代码运行,返回证书但没有想要的扩展

0 投票
0 回答
1277 浏览

macos - OS x 设备使用 SCEP 注册到 MDM


我可以在不通过 scep 的情况下将 OS x 设备注册到 MDM。当我浏览一些文档时,通过 SCEP 注册的 ios 和 os x 之间没有任何特定的区别。但是,当我尝试使用 SCEP 注册 OS x 设备时,出现以下错误。

你能帮我解决这个问题吗!
谢谢。

0 投票
1 回答
512 浏览

ejbca - 使用 JSCEP 将 CSR 注册到 EJBCA 时如何包含密码

我正在尝试使用 JSCEP 向 EJBCA 注册证书签名请求,如此处所述: https ://github.com/jscep/jscep

我可以使用相同格式的 csr 和私钥(用于端口 8443 上的 ssl 授权)从 Web 控制台提交 csr,但是当我通过 JSCEP 尝试时,我在 EJBCA 日志中收到以下错误:

处理 SCEP 请求时出错。:org.cesecore.certificates.ca.SignRequestExcept ion:请求中没有密码。

我猜它想要一个终端实体的用户名和注册代码,就像我需要通过 Web UI 输入的那个一样,但我在 JSCEP API 中完全看不到输入该信息的地方。也许私钥就足够了,但这似乎有点奇怪,因为 UI 想要两者兼而有之。

我想这也可能意味着我的 CSR 必须有密码,但它没有,但 UI 并没有给我带来问题,所以我不明白为什么会这样。

密钥库(从 p12 文件中解析,包含密码)和 csr 都是从文件中解析出来的,而不是以编程方式生成的。csr 来自我没有密钥的第三方。

我通过 jscep 客户端的注册请求如下所示:

client.enrol(证书,privateKey,请求,config.getCaProfile());

证书和私钥都取自 p12 文件,请求是从传递给我的 csr (pkcs12) 中解析的。caProfile 是 https::8443/ejbca/adminweb/ 主页上的表格中列出的 CA 名称

如果我的参数有误,或者我需要在某处包含密码,请告诉我,我该如何在 API 中做到这一点。

0 投票
1 回答
390 浏览

java - 带有 X509Certificate 和属性证书的 JSCEP

我想JSCEP与属性证书 (AC) 一起使用,它们是 X.509 的一部分。当我检查 Java 库时。在java.security.cert包中包含一个摘要X509Certificate,但此证书继承了一个getPublicKey方法java.security.cert.Certificate,该方法不是 AC 的一部分。

我的问题:

  • 可以在X509Certificate没有公钥的情况下使用。这样在其他java类中就不会出现问题了JcaX509CertificateConverter吗?
  • 我应该实现一个AttributeCertificate不继承自的自己的类java.security.cert.Certificate吗?
  • 最佳实践方法是什么?
0 投票
1 回答
268 浏览

certificate - OpenXPKI 与 JSCEP 请求 CRL

我正在尝试从 OpenXPKI 服务器获取 CRL(使用默认配置)。可以请求和轮询证书。

在 OpenXPKI 服务器上,我撤销了一些证书,创建了 CRL 并发布了列表。为了获得 CRL,我尝试了不同的方法。

第一种方法:

第二种方法:

在服务器上,我的 CRL 具有以下信息:

当我尝试上面的代码示例(以及其他一些)时,我在 CRL 请求者上收到以下错误:

org.jscep.transaction.OperationFailureException:操作因 badCertId 而失败

在 OpenXPKI 服务器上,我收到以下错误:

openxpki.application.ERROR:12156 [OpenXPKI::Service::SCEP::Command::PKIOperation (/usr/lib/x86_64-linux-gnu/perl5/5.20/OpenXPKI/Service/SCEP/Command/PKIOperation.pm:255 ); scep-server-1()@f68c] SCEP getcrl - 找不到序列号 511 的发行者和发行者 DC=ORG,DC=OpenXPKI,OU=Test CA,CN=CA ONE

始终找不到序列号 XXX 和颁发者 YYY 的颁发者(XXX 和 YYY 取决于 CRL 请求的发送信息)。

拜托,有人可以帮我或给我一些建议吗?- 提前致谢!

0 投票
1 回答
1260 浏览

certificate - 如何获取新的 ejbca 设置的用户名和注册码?

如https://ejbca.org/download.html所述,我在 virtualbox 中运行 EJBCA 。当我尝试“创建浏览器证书”或“从 CSR 创建证书”时,它要求

用户名

注册码

在此处输入图像描述

我在哪里可以获得用户名和注册码?