我苦苦挣扎了3天,找不到解决方法
从此代码:
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.cert.Certificate;
import org.javasign.operators.CryptokiGenerator;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfDictionary;
import com.itextpdf.text.pdf.PdfName;
import com.itextpdf.text.pdf.security.PdfPKCS7;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfSignatureAppearance;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfString;
import com.itextpdf.text.pdf.PdfSignature;
FileOutputStream fout = new FileOutputStream("signed.pdf");
PdfStamper stamper = PdfStamper.createSignature(reader, fout, '\0');
PdfSignatureAppearance sap = stamper.getSignatureAppearance();
sap.setCrypto(null, certs, null, PdfSignatureAppearance.SELF_SIGNED);
sap.setReason("How to use iText and Javasign with an Italian smart card");
sap.setLocation("Italy");
sap.setVisibleSignature(new Rectangle(30, 750, 500, 565), 1, null);
sap.setExternalDigest(new byte[128], new byte[20], "RSA");
sap.preClose();
PdfPKCS7 sig = sap.getSigStandard().getSigner();
Netbeans无法找到符号:SELF_SIGNED,setExternalDigest()和getSigStandard()
我已经在上面添加了所有这些库以及jar,因此我的包含文件没有问题。
文档介绍了包括该常量在内的那些方法,所以我不知道发生了什么。
我正在使用IText 5.4.0
有什么帮助吗?
最佳答案
Netbeans无法找到符号:SELF_SIGNED,setExternalDigest()和getSigStandard()
根据IText (5.4.1) API documentation,这些方法在PdfSignatureAppearance
类中不存在。
关于java - IText中应该存在但无法识别的符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15787690/