OpenXPKI 与 JSCEP 请求 CRL
OpenXPKI with JSCEP to request CRL
我正在尝试从 OpenXPKI 服务器获取 CRL(使用默认配置)。可以请求和轮询证书。
在 OpenXPKI 服务器上,我撤销了一些证书,创建了 CRL 并发布了列表。为了获得 CRL,我尝试了不同的方法。
第一种方法:
X509CRL crl = client.getRevocationList(jscepCertificate, jscepKeyPair.getPrivate(),
certificate.getIssuerX500Principal(), certificate.getSerialNumber());
第二种方法:
X509CRL crl = client.getRevocationList(jscepCertificate, jscepKeyPair.getPrivate(),
crlIssuer, crlSerialNumber);
在服务器上,我的 CRL 具有以下信息:
CRL Serial: 511
CRL Issuer: CN=CA ONE,OU=Test CA,DC=OpenXPKI,DC=ORG
Items: 25
当我尝试上面的代码示例(以及其他一些代码示例)时,我在 CRL 请求者上收到以下错误:
org.jscep.transaction.OperationFailureException: Operation failed due
to 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 - no issuer found for serial 511 and
issuer DC=ORG,DC=OpenXPKI,OU=Test CA,CN=CA ONE
始终找不到序列号 XXX 和发行人 YYY 的发行人(XXX 和 YYY 取决于 CRL 请求的发送信息)。
拜托,任何人都可以帮助我或给我一些建议吗? - 提前致谢!
我在 JSCEP 和 OpenXPKI 社区的帮助下解决了这个问题。问题是发行人的 DN 被颠倒了,这意味着例如CN=CA,OU=Test CA,DC=OpenXPKI,DC=ORG
更改为 DC=ORG,DC=OpenXPKI,OU=Test CA,CN=CA ONE
并且 OpenXPKI 中的 getCRL
没有反向发行者的条目。
一个简单的解决方法是通过更改 get_getcrl_issuer_serial.pm 中的代码来反转 getCRL
请求的发行者(检查 OpenXPKI fix)文件。在第 107 行添加以下代码:
$issuer = join ",", reverse split (/,/, $issuer);
未来的解决方案是使 getCRL
逻辑请求者独立并根据请求对发行者进行排序。
我正在尝试从 OpenXPKI 服务器获取 CRL(使用默认配置)。可以请求和轮询证书。
在 OpenXPKI 服务器上,我撤销了一些证书,创建了 CRL 并发布了列表。为了获得 CRL,我尝试了不同的方法。
第一种方法:
X509CRL crl = client.getRevocationList(jscepCertificate, jscepKeyPair.getPrivate(),
certificate.getIssuerX500Principal(), certificate.getSerialNumber());
第二种方法:
X509CRL crl = client.getRevocationList(jscepCertificate, jscepKeyPair.getPrivate(),
crlIssuer, crlSerialNumber);
在服务器上,我的 CRL 具有以下信息:
CRL Serial: 511
CRL Issuer: CN=CA ONE,OU=Test CA,DC=OpenXPKI,DC=ORG
Items: 25
当我尝试上面的代码示例(以及其他一些代码示例)时,我在 CRL 请求者上收到以下错误:
org.jscep.transaction.OperationFailureException: Operation failed due to 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 - no issuer found for serial 511 and issuer DC=ORG,DC=OpenXPKI,OU=Test CA,CN=CA ONE
始终找不到序列号 XXX 和发行人 YYY 的发行人(XXX 和 YYY 取决于 CRL 请求的发送信息)。
拜托,任何人都可以帮助我或给我一些建议吗? - 提前致谢!
我在 JSCEP 和 OpenXPKI 社区的帮助下解决了这个问题。问题是发行人的 DN 被颠倒了,这意味着例如CN=CA,OU=Test CA,DC=OpenXPKI,DC=ORG
更改为 DC=ORG,DC=OpenXPKI,OU=Test CA,CN=CA ONE
并且 OpenXPKI 中的 getCRL
没有反向发行者的条目。
一个简单的解决方法是通过更改 get_getcrl_issuer_serial.pm 中的代码来反转 getCRL
请求的发行者(检查 OpenXPKI fix)文件。在第 107 行添加以下代码:
$issuer = join ",", reverse split (/,/, $issuer);
未来的解决方案是使 getCRL
逻辑请求者独立并根据请求对发行者进行排序。