Java运行时错误SIGBUS iText
我正在尝试使用iText 5.5.0和文档示例进行签名:Java运行时错误SIGBUS iText,java,pdf,runtime-error,itext,Java,Pdf,Runtime Error,Itext,我正在尝试使用iText 5.5.0和文档示例进行签名: private static void pdfSign(String srcFile, String dstFile) throws Exception KeyStore ks = KeyStore.getInstance("pkcs12", "BC"); ks.load(new FileInputStream(PFX_ROUTE), PFX_PASSPHRASE); String alias = (String
private static void pdfSign(String srcFile, String dstFile) throws Exception
KeyStore ks = KeyStore.getInstance("pkcs12", "BC");
ks.load(new FileInputStream(PFX_ROUTE), PFX_PASSPHRASE);
String alias = (String)ks.aliases().nextElement();
PrivateKey pk = (PrivateKey)ks.getKey(alias, KEY_PASSPHRASE);
Certificate[] chain = ks.getCertificateChain(alias);
// reader and stamper
PdfReader reader = new PdfReader(srcFile);
PdfStamper stamper = PdfStamper.createSignature(reader, new FileOutputStream(dstFile), '\0');
// appearance
PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
appearance.setVisibleSignature(SIGNFIELD_NAME);
appearance.setReason("Test");
appearance.setLocation("TestLocation");
ExternalSignature es = new PrivateKeySignature(pk, "SHA-1", "BC");
ExternalDigest digest = new BouncyCastleDigest();
MakeSignature.signDetached(appearance, digest, es, chain, null, null, null, 0, CryptoStandard.CMS);
}
我得到以下错误
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0xa) at pc=0x00007fff943f8be0, pid=602, tid=6403
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C [libsystem_platform.dylib+0x3be0] _platform_memmove$VARIANT$Unknown+0xe0
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/twofaz/Documents/Development/Clarice/Clarice.iText5/hs_err_pid602.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
我的java版本是:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
我正在使用Netbeans IDE 7.4和在my/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/security path中替换的JCE Unlimited Strength辖区策略文件
我已经在终端上尝试了“ulimit-c unlimited”命令 我不知道为什么,我在另一个环境中尝试了我的代码,它给了我一个BouncyCastle异常。我将BC JAR更改为1.48版本,它在我的Windows环境中正常工作。在我的Unix环境中,保存文件时遇到问题
感谢所有请显示
hs_err_pid602.log的内容
。在此处添加内容:Hhmmm,sun.misc.Unsafe.copyMemory
似乎经常涉及有趣的JVM崩溃。您可能希望尝试不同的PdfReader
构造函数,例如,首先将文件读入内存,然后使用带有byte[]
参数的构造函数。您是否尝试过这种方法,仍然存在相同的错误。或者,您是否尝试过不同的jvm版本?由于iTextin在您的用例中只使用标准api调用,这很可能是Java错误。