0

サードパーティのデジタル署名ライブラリを購入したいのですが、クライアント証明書を使用して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");      
}
4

2 に答える 2

3

参照しているDLLファイルは、コードコメントに基づくPKCS#11ライブラリです。PKCS#11は、トークンおよびHSMとの対話に使用される暗号化APIです。

システムにそのファイルがない場合は、特定のUSB暗号トークン用のPKCS#11ライブラリが不足している可能性があります。メーカーのウェブサイトを見て、共有できるかどうかを確認することをお勧めします。

于 2013-01-22T12:06:16.540 に答える
0

暗号トークンのドライバーをダウンロードしてインストールする必要があります。これらは通常、製造元のサイトで入手できます。これらのDLLファイルは、暗号トークンのドライバーです。

于 2013-08-03T06:34:22.927 に答える