提问人:Tanmay Sharma 提问时间:4/29/2023 最后编辑:Tanmay Sharma 更新时间:4/30/2023 访问量:108
PDFBOX:COSStream 已关闭,无法阅读。也许它封闭的 PDDocument 已经关闭?
PDFBOX: COSStream has been closed and cannot be read. Perhaps its enclosing PDDocument has been closed?
问:
我正在尝试使用pdfbox执行签名。在调用 saveIncrementalForExternalSigning 方法之前,我正在添加验证信息。
public ByteArrayOutputStream addSignature(PDDocument document, PDSignature signature, InputStream inputStream,
SealCSCCredentialOptions cscCredentialOptions, Certificate[] certificateChain, String signatureFormat)
throws Exception {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ExternalSigningSupport externalSigningSupport = null;
try {
externalSigningSupport = document.saveIncrementalForExternalSigning(outputStream);
} catch (IOException e)
{
e.printStackTrace();
LOG.error("Request ID: {} Error occurred: " + e.getMessage(), LoggerUtils.getFromThreadContext("requestId"));
throw e;
}
CMSSignedData signedData = generateCMSSignedData(certificateChain, externalSigningSupport, inputStream,
cscCredentialOptions, signatureFormat);
byte[] cmsSignature = signedData.getEncoded();
externalSigningSupport.setSignature(cmsSignature);
return outputStream;
}
但是我在调用 COSStream 时出现间歇性错误,已关闭且无法读取。也许它封闭的 PDDocument 已经关闭?externalSigningSupport = document.saveIncrementalForExternalSigning(outputStream);
我间歇性地收到此错误。有时它会产生这种错误。在某些情况下,我得到了成功的回应。
有人可以帮忙弄清楚我做错了什么以及为什么我间歇性地收到这个错误吗?
答: 暂无答案
评论
PDDocument
addSignature
PDDocument