サードパーティのデジタル署名ライブラリを購入したいのですが、クライアント証明書を使用してPDFに署名したいと思います。ファイルがPCに保存されている場合にのみ機能します。
USBトークン内に保存されている証明書を使用してPDFに署名したいのですが、それを実現するにはどうすればよいですか?
ここで私はサードパーティのコードを持っていて、彼らはDLLファイルを使用しています
C:\Windows\System32\cmP11.dll
が、それは私のシステムにはありません。次のコードでこのファイルのタスクは何ですか?
private static void signatureWithToken() {
// specify document to sign
PdfDocument pdfDocument = new PdfDocument("sample.pdf");
// specify info to find a key on the token
String tokenLibraryFilename = "C:\\Windows\\System32\\cmP11.dll"; // path to token PKCS#11 library
String tokenPin = "7777"; // token PIN
// key alias on the token,
// if null the first found key will be used
String tokenKeyAlias = "Key Alias";
SigningData signingData = SigningData.fromPkcs11Token(tokenLibraryFilename,
tokenKeyAlias, tokenPin);
// list available aliases
listAvailableAliases(signingData);
// specify rectangle for the signature
signingData.setFieldRectangle(new Rectangle2D.Float(300, 50, 275, 100));
// specify reason and location
signingData.setReason("I approve this invoice.");
signingData.setLocation("Camden");
// sign document
pdfDocument.signDocument(signingData, "sample_(signed_with_token).pdf");
}