【发布时间】:2022-01-18 19:54:50
【问题描述】:
我已经将项目从 itext2.1.7.jar 迁移到 itext5.5.13.jar 但是在测试具有签名的 pdf 时出现以下错误:
java.lang.NoSuchMethodError: org.bouncycastle.asn1.x509.GeneralName.getDERObject()
这是我得到错误的方法:
public URI getCrlUri(X509Certificate certificate) {
byte[] crlDistributionPointsValue = certificate.getExtensionValue(Extension.cRLDistributionPoints.getId());
if (null == crlDistributionPointsValue) {
return null;
}
CRLDistPoint distPoint=null;
try {
distPoint = CRLDistPoint
.getInstance(JcaX509ExtensionUtils.parseExtensionValue(crlDistributionPointsValue));
} catch (IOException e) {
e.printStackTrace();
}
DistributionPoint[] distributionPoints = distPoint.getDistributionPoints();
for (DistributionPoint distributionPoint : distributionPoints) {
DistributionPointName distributionPointName = distributionPoint.getDistributionPoint();
if (DistributionPointName.FULL_NAME != distributionPointName.getType()) {
continue;
}
GeneralNames generalNames = (GeneralNames) distributionPointName.getName();
GeneralName[] names = generalNames.getNames();
for (GeneralName name : names) {
if (name.getTagNo() != GeneralName.uniformResourceIdentifier) {
continue;
}
final DERIA5String derStr = DERIA5String.getInstance(name.getDERObject());
String str = derStr.getString();
URI uri = toURI(str);
return uri;
}
}
return null;
}
在我的班级路径中,我放置了: 1.bcprov-jdk15on-1.49.jar 2.bcpkix-jdk15on-1.49.jar 3.itextpdf-5.5.13.jar
我根据下载 itextpdf 时得到的 pom.xml 添加的 BouncyCastle 库。
这个项目是建立在以下充气城堡库之上的 1.bcmail-jdk16-143.jar 2.bcprov-jdk16-143.jar 3.bctsp-jdk16-1.44.jar
谁能帮忙解决这个问题。
【问题讨论】:
标签: java itext x509certificate bouncycastle nosuchmethoderror