我有一个包含在SmartCard中的SHA256withRSA X.509 证书。我需要用它在Java中签署生成P7M(CAdES)信封的文档。到目前为止,我已经找到了一些签署文档的例子,但问题是:
你有什么指示可以开始吗?我很困惑,找不到起点。
谢谢!
答案 0 :(得分:0)
1。)您可以使用文件的byte[]
对任何文件进行签名。这将是二进制签名。它适用于任何文件(.html,.txt,.pdf,.doc,..)。
与您提到的" PDF和#34;的签名相比,这些签名称为PAdES签名。这些签名正在被某些应用程序识别,例如Adobe Acrobat。如果您使用相应的应用程序打开此类PDF,应用程序将通知您该文档已签名。 但是如果您使用二进制签名,应用程序就无法做到 - 但至少您可以签署所有内容。
2。)您需要一个私钥才能签名。 [X.509] [2}证书仅包含公钥 - 私钥对的公共部分。私人部分必须保密。在您的情况下,密钥的私有部分存储在智能卡上。
阅读智能卡手册以便使用它。 如果您不了解公钥/私钥如何工作,请继续阅读something about PKI。